      module mo_lu_factor
      use chem_mods, only: veclen
      private
      public :: lu_fac
      contains
      subroutine lu_fac01( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,1) = 1._r8 / lu(k,1)
         lu(k,2) = 1._r8 / lu(k,2)
         lu(k,3) = 1._r8 / lu(k,3)
         lu(k,4) = 1._r8 / lu(k,4)
         lu(k,5) = 1._r8 / lu(k,5)
         lu(k,6) = 1._r8 / lu(k,6)
         lu(k,7) = 1._r8 / lu(k,7)
         lu(k,8) = 1._r8 / lu(k,8)
         lu(k,9) = 1._r8 / lu(k,9)
         lu(k,10) = 1._r8 / lu(k,10)
         lu(k,11) = 1._r8 / lu(k,11)
         lu(k,12) = 1._r8 / lu(k,12)
         lu(k,13) = 1._r8 / lu(k,13)
         lu(k,14) = 1._r8 / lu(k,14)
         lu(k,15) = 1._r8 / lu(k,15)
         lu(k,16) = 1._r8 / lu(k,16)
         lu(k,17) = 1._r8 / lu(k,17)
         lu(k,18) = 1._r8 / lu(k,18)
         lu(k,19) = 1._r8 / lu(k,19)
         lu(k,20) = 1._r8 / lu(k,20)
         lu(k,21) = 1._r8 / lu(k,21)
         lu(k,22) = 1._r8 / lu(k,22)
         lu(k,23) = 1._r8 / lu(k,23)
         lu(k,24) = 1._r8 / lu(k,24)
         lu(k,25) = 1._r8 / lu(k,25)
         lu(k,26) = 1._r8 / lu(k,26)
         lu(k,27) = 1._r8 / lu(k,27)
         lu(k,28) = 1._r8 / lu(k,28)
         lu(k,29) = 1._r8 / lu(k,29)
         lu(k,30) = 1._r8 / lu(k,30)
         lu(k,31) = 1._r8 / lu(k,31)
         lu(k,32) = 1._r8 / lu(k,32)
         lu(k,33) = 1._r8 / lu(k,33)
         lu(k,34) = 1._r8 / lu(k,34)
         lu(k,40) = 1._r8 / lu(k,40)
         lu(k,46) = 1._r8 / lu(k,46)
         lu(k,52) = 1._r8 / lu(k,52)
         lu(k,58) = 1._r8 / lu(k,58)
         lu(k,64) = 1._r8 / lu(k,64)
         lu(k,70) = 1._r8 / lu(k,70)
         lu(k,76) = 1._r8 / lu(k,76)
         lu(k,78) = 1._r8 / lu(k,78)
         lu(k,84) = 1._r8 / lu(k,84)
         lu(k,90) = 1._r8 / lu(k,90)
         lu(k,96) = 1._r8 / lu(k,96)
         lu(k,102) = 1._r8 / lu(k,102)
         lu(k,103) = 1._r8 / lu(k,103)
         lu(k,104) = lu(k,104) * lu(k,103)
         lu(k,105) = lu(k,105) * lu(k,103)
         lu(k,3752) = lu(k,3752) - lu(k,104) * lu(k,3534)
         lu(k,3756) = lu(k,3756) - lu(k,105) * lu(k,3534)
         lu(k,106) = 1._r8 / lu(k,106)
         lu(k,107) = lu(k,107) * lu(k,106)
         lu(k,108) = lu(k,108) * lu(k,106)
         lu(k,3746) = lu(k,3746) - lu(k,107) * lu(k,3535)
         lu(k,3752) = lu(k,3752) - lu(k,108) * lu(k,3535)
      end do
      end subroutine lu_fac01
      subroutine lu_fac02( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,109) = 1._r8 / lu(k,109)
         lu(k,110) = lu(k,110) * lu(k,109)
         lu(k,111) = lu(k,111) * lu(k,109)
         lu(k,3312) = lu(k,3312) - lu(k,110) * lu(k,3296)
         lu(k,3320) = lu(k,3320) - lu(k,111) * lu(k,3296)
         lu(k,112) = 1._r8 / lu(k,112)
         lu(k,113) = lu(k,113) * lu(k,112)
         lu(k,114) = lu(k,114) * lu(k,112)
         lu(k,115) = lu(k,115) * lu(k,112)
         lu(k,3644) = lu(k,3644) - lu(k,113) * lu(k,3536)
         lu(k,3752) = lu(k,3752) - lu(k,114) * lu(k,3536)
         lu(k,3756) = lu(k,3756) - lu(k,115) * lu(k,3536)
         lu(k,116) = 1._r8 / lu(k,116)
         lu(k,117) = lu(k,117) * lu(k,116)
         lu(k,118) = lu(k,118) * lu(k,116)
         lu(k,743) = lu(k,743) - lu(k,117) * lu(k,742)
         lu(k,750) = - lu(k,118) * lu(k,742)
         lu(k,3137) = - lu(k,117) * lu(k,3133)
         lu(k,3291) = lu(k,3291) - lu(k,118) * lu(k,3133)
         lu(k,119) = 1._r8 / lu(k,119)
         lu(k,120) = lu(k,120) * lu(k,119)
         lu(k,121) = lu(k,121) * lu(k,119)
         lu(k,214) = lu(k,214) - lu(k,120) * lu(k,213)
         lu(k,217) = lu(k,217) - lu(k,121) * lu(k,213)
         lu(k,3840) = lu(k,3840) - lu(k,120) * lu(k,3838)
         lu(k,3862) = lu(k,3862) - lu(k,121) * lu(k,3838)
         lu(k,122) = 1._r8 / lu(k,122)
         lu(k,123) = lu(k,123) * lu(k,122)
         lu(k,124) = lu(k,124) * lu(k,122)
         lu(k,3096) = lu(k,3096) - lu(k,123) * lu(k,3093)
         lu(k,3105) = lu(k,3105) - lu(k,124) * lu(k,3093)
         lu(k,3639) = - lu(k,123) * lu(k,3537)
         lu(k,3745) = - lu(k,124) * lu(k,3537)
         lu(k,125) = 1._r8 / lu(k,125)
         lu(k,126) = lu(k,126) * lu(k,125)
         lu(k,127) = lu(k,127) * lu(k,125)
         lu(k,462) = lu(k,462) - lu(k,126) * lu(k,461)
         lu(k,466) = lu(k,466) - lu(k,127) * lu(k,461)
         lu(k,3475) = lu(k,3475) - lu(k,126) * lu(k,3467)
         lu(k,3511) = lu(k,3511) - lu(k,127) * lu(k,3467)
         lu(k,128) = 1._r8 / lu(k,128)
         lu(k,129) = lu(k,129) * lu(k,128)
         lu(k,1069) = lu(k,1069) - lu(k,129) * lu(k,1063)
         lu(k,1221) = lu(k,1221) - lu(k,129) * lu(k,1211)
         lu(k,3320) = lu(k,3320) - lu(k,129) * lu(k,3297)
         lu(k,3777) = lu(k,3777) - lu(k,129) * lu(k,3757)
         lu(k,3836) = lu(k,3836) - lu(k,129) * lu(k,3803)
         lu(k,131) = 1._r8 / lu(k,131)
         lu(k,132) = lu(k,132) * lu(k,131)
         lu(k,133) = lu(k,133) * lu(k,131)
         lu(k,134) = lu(k,134) * lu(k,131)
         lu(k,135) = lu(k,135) * lu(k,131)
         lu(k,136) = lu(k,136) * lu(k,131)
         lu(k,3539) = lu(k,3539) - lu(k,132) * lu(k,3538)
         lu(k,3540) = lu(k,3540) - lu(k,133) * lu(k,3538)
         lu(k,3588) = lu(k,3588) - lu(k,134) * lu(k,3538)
         lu(k,3746) = lu(k,3746) - lu(k,135) * lu(k,3538)
         lu(k,3752) = lu(k,3752) - lu(k,136) * lu(k,3538)
         lu(k,137) = 1._r8 / lu(k,137)
         lu(k,138) = lu(k,138) * lu(k,137)
         lu(k,139) = lu(k,139) * lu(k,137)
         lu(k,140) = lu(k,140) * lu(k,137)
         lu(k,3580) = - lu(k,138) * lu(k,3539)
         lu(k,3694) = lu(k,3694) - lu(k,139) * lu(k,3539)
         lu(k,3746) = lu(k,3746) - lu(k,140) * lu(k,3539)
         lu(k,141) = 1._r8 / lu(k,141)
         lu(k,142) = lu(k,142) * lu(k,141)
         lu(k,143) = lu(k,143) * lu(k,141)
         lu(k,144) = lu(k,144) * lu(k,141)
         lu(k,145) = lu(k,145) * lu(k,141)
         lu(k,3579) = lu(k,3579) - lu(k,142) * lu(k,3540)
         lu(k,3584) = lu(k,3584) - lu(k,143) * lu(k,3540)
         lu(k,3746) = lu(k,3746) - lu(k,144) * lu(k,3540)
         lu(k,3752) = lu(k,3752) - lu(k,145) * lu(k,3540)
         lu(k,146) = 1._r8 / lu(k,146)
         lu(k,147) = lu(k,147) * lu(k,146)
         lu(k,148) = lu(k,148) * lu(k,146)
         lu(k,149) = lu(k,149) * lu(k,146)
         lu(k,3105) = lu(k,3105) - lu(k,147) * lu(k,3094)
         lu(k,3106) = lu(k,3106) - lu(k,148) * lu(k,3094)
         lu(k,3112) = lu(k,3112) - lu(k,149) * lu(k,3094)
         lu(k,3745) = lu(k,3745) - lu(k,147) * lu(k,3541)
         lu(k,3746) = lu(k,3746) - lu(k,148) * lu(k,3541)
         lu(k,3752) = lu(k,3752) - lu(k,149) * lu(k,3541)
         lu(k,150) = 1._r8 / lu(k,150)
         lu(k,151) = lu(k,151) * lu(k,150)
         lu(k,152) = lu(k,152) * lu(k,150)
         lu(k,883) = lu(k,883) - lu(k,151) * lu(k,875)
         lu(k,886) = lu(k,886) - lu(k,152) * lu(k,875)
         lu(k,1804) = - lu(k,151) * lu(k,1796)
         lu(k,1808) = lu(k,1808) - lu(k,152) * lu(k,1796)
         lu(k,3740) = lu(k,3740) - lu(k,151) * lu(k,3542)
         lu(k,3751) = lu(k,3751) - lu(k,152) * lu(k,3542)
         lu(k,153) = 1._r8 / lu(k,153)
         lu(k,154) = lu(k,154) * lu(k,153)
         lu(k,155) = lu(k,155) * lu(k,153)
         lu(k,945) = - lu(k,154) * lu(k,940)
         lu(k,953) = lu(k,953) - lu(k,155) * lu(k,940)
         lu(k,2923) = - lu(k,154) * lu(k,2905)
         lu(k,2996) = lu(k,2996) - lu(k,155) * lu(k,2905)
         lu(k,3659) = lu(k,3659) - lu(k,154) * lu(k,3543)
         lu(k,3752) = lu(k,3752) - lu(k,155) * lu(k,3543)
      end do
      end subroutine lu_fac02
      subroutine lu_fac03( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,156) = 1._r8 / lu(k,156)
         lu(k,157) = lu(k,157) * lu(k,156)
         lu(k,158) = lu(k,158) * lu(k,156)
         lu(k,159) = lu(k,159) * lu(k,156)
         lu(k,3096) = lu(k,3096) - lu(k,157) * lu(k,3095)
         lu(k,3105) = lu(k,3105) - lu(k,158) * lu(k,3095)
         lu(k,3115) = lu(k,3115) - lu(k,159) * lu(k,3095)
         lu(k,3639) = lu(k,3639) - lu(k,157) * lu(k,3544)
         lu(k,3745) = lu(k,3745) - lu(k,158) * lu(k,3544)
         lu(k,3755) = lu(k,3755) - lu(k,159) * lu(k,3544)
         lu(k,161) = 1._r8 / lu(k,161)
         lu(k,162) = lu(k,162) * lu(k,161)
         lu(k,163) = lu(k,163) * lu(k,161)
         lu(k,164) = lu(k,164) * lu(k,161)
         lu(k,165) = lu(k,165) * lu(k,161)
         lu(k,166) = lu(k,166) * lu(k,161)
         lu(k,167) = lu(k,167) * lu(k,161)
         lu(k,3546) = lu(k,3546) - lu(k,162) * lu(k,3545)
         lu(k,3547) = lu(k,3547) - lu(k,163) * lu(k,3545)
         lu(k,3576) = lu(k,3576) - lu(k,164) * lu(k,3545)
         lu(k,3625) = lu(k,3625) - lu(k,165) * lu(k,3545)
         lu(k,3746) = lu(k,3746) - lu(k,166) * lu(k,3545)
         lu(k,3752) = lu(k,3752) - lu(k,167) * lu(k,3545)
         lu(k,168) = 1._r8 / lu(k,168)
         lu(k,169) = lu(k,169) * lu(k,168)
         lu(k,170) = lu(k,170) * lu(k,168)
         lu(k,171) = lu(k,171) * lu(k,168)
         lu(k,172) = lu(k,172) * lu(k,168)
         lu(k,3579) = lu(k,3579) - lu(k,169) * lu(k,3546)
         lu(k,3584) = lu(k,3584) - lu(k,170) * lu(k,3546)
         lu(k,3746) = lu(k,3746) - lu(k,171) * lu(k,3546)
         lu(k,3752) = lu(k,3752) - lu(k,172) * lu(k,3546)
         lu(k,173) = 1._r8 / lu(k,173)
         lu(k,174) = lu(k,174) * lu(k,173)
         lu(k,175) = lu(k,175) * lu(k,173)
         lu(k,176) = lu(k,176) * lu(k,173)
         lu(k,183) = - lu(k,174) * lu(k,178)
         lu(k,184) = - lu(k,175) * lu(k,178)
         lu(k,185) = lu(k,185) - lu(k,176) * lu(k,178)
         lu(k,3694) = lu(k,3694) - lu(k,174) * lu(k,3547)
         lu(k,3739) = lu(k,3739) - lu(k,175) * lu(k,3547)
         lu(k,3746) = lu(k,3746) - lu(k,176) * lu(k,3547)
         lu(k,179) = 1._r8 / lu(k,179)
         lu(k,180) = lu(k,180) * lu(k,179)
         lu(k,181) = lu(k,181) * lu(k,179)
         lu(k,182) = lu(k,182) * lu(k,179)
         lu(k,183) = lu(k,183) * lu(k,179)
         lu(k,184) = lu(k,184) * lu(k,179)
         lu(k,185) = lu(k,185) * lu(k,179)
         lu(k,186) = lu(k,186) * lu(k,179)
         lu(k,3549) = lu(k,3549) - lu(k,180) * lu(k,3548)
         lu(k,3576) = lu(k,3576) - lu(k,181) * lu(k,3548)
         lu(k,3626) = lu(k,3626) - lu(k,182) * lu(k,3548)
         lu(k,3694) = lu(k,3694) - lu(k,183) * lu(k,3548)
         lu(k,3739) = lu(k,3739) - lu(k,184) * lu(k,3548)
         lu(k,3746) = lu(k,3746) - lu(k,185) * lu(k,3548)
         lu(k,3752) = lu(k,3752) - lu(k,186) * lu(k,3548)
         lu(k,187) = 1._r8 / lu(k,187)
         lu(k,188) = lu(k,188) * lu(k,187)
         lu(k,189) = lu(k,189) * lu(k,187)
         lu(k,190) = lu(k,190) * lu(k,187)
         lu(k,191) = lu(k,191) * lu(k,187)
         lu(k,3584) = lu(k,3584) - lu(k,188) * lu(k,3549)
         lu(k,3589) = lu(k,3589) - lu(k,189) * lu(k,3549)
         lu(k,3746) = lu(k,3746) - lu(k,190) * lu(k,3549)
         lu(k,3752) = lu(k,3752) - lu(k,191) * lu(k,3549)
         lu(k,192) = 1._r8 / lu(k,192)
         lu(k,193) = lu(k,193) * lu(k,192)
         lu(k,194) = lu(k,194) * lu(k,192)
         lu(k,897) = lu(k,897) - lu(k,193) * lu(k,896)
         lu(k,900) = lu(k,900) - lu(k,194) * lu(k,896)
         lu(k,1415) = lu(k,1415) - lu(k,193) * lu(k,1414)
         lu(k,1418) = lu(k,1418) - lu(k,194) * lu(k,1414)
         lu(k,2715) = lu(k,2715) - lu(k,193) * lu(k,2714)
         lu(k,2718) = - lu(k,194) * lu(k,2714)
         lu(k,3841) = lu(k,3841) - lu(k,193) * lu(k,3839)
         lu(k,3847) = lu(k,3847) - lu(k,194) * lu(k,3839)
         lu(k,195) = 1._r8 / lu(k,195)
         lu(k,196) = lu(k,196) * lu(k,195)
         lu(k,197) = lu(k,197) * lu(k,195)
         lu(k,907) = lu(k,907) - lu(k,196) * lu(k,905)
         lu(k,912) = - lu(k,197) * lu(k,905)
         lu(k,3304) = lu(k,3304) - lu(k,196) * lu(k,3298)
         lu(k,3320) = lu(k,3320) - lu(k,197) * lu(k,3298)
         lu(k,3762) = - lu(k,196) * lu(k,3758)
         lu(k,3777) = lu(k,3777) - lu(k,197) * lu(k,3758)
         lu(k,3785) = lu(k,3785) - lu(k,196) * lu(k,3779)
         lu(k,3801) = lu(k,3801) - lu(k,197) * lu(k,3779)
         lu(k,198) = 1._r8 / lu(k,198)
         lu(k,199) = lu(k,199) * lu(k,198)
         lu(k,200) = lu(k,200) * lu(k,198)
         lu(k,288) = - lu(k,199) * lu(k,285)
         lu(k,290) = lu(k,290) - lu(k,200) * lu(k,285)
         lu(k,359) = - lu(k,199) * lu(k,356)
         lu(k,363) = - lu(k,200) * lu(k,356)
         lu(k,2771) = lu(k,2771) - lu(k,199) * lu(k,2758)
         lu(k,2895) = lu(k,2895) - lu(k,200) * lu(k,2758)
         lu(k,3592) = lu(k,3592) - lu(k,199) * lu(k,3550)
         lu(k,3752) = lu(k,3752) - lu(k,200) * lu(k,3550)
         lu(k,201) = 1._r8 / lu(k,201)
         lu(k,202) = lu(k,202) * lu(k,201)
         lu(k,203) = lu(k,203) * lu(k,201)
         lu(k,1293) = - lu(k,202) * lu(k,1279)
         lu(k,1294) = - lu(k,203) * lu(k,1279)
         lu(k,1780) = lu(k,1780) - lu(k,202) * lu(k,1765)
         lu(k,1782) = - lu(k,203) * lu(k,1765)
         lu(k,1827) = - lu(k,202) * lu(k,1810)
         lu(k,1829) = lu(k,1829) - lu(k,203) * lu(k,1810)
         lu(k,3708) = - lu(k,202) * lu(k,3551)
         lu(k,3710) = lu(k,3710) - lu(k,203) * lu(k,3551)
      end do
      end subroutine lu_fac03
      subroutine lu_fac04( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,204) = 1._r8 / lu(k,204)
         lu(k,205) = lu(k,205) * lu(k,204)
         lu(k,206) = lu(k,206) * lu(k,204)
         lu(k,1288) = - lu(k,205) * lu(k,1280)
         lu(k,1294) = lu(k,1294) - lu(k,206) * lu(k,1280)
         lu(k,1550) = lu(k,1550) - lu(k,205) * lu(k,1544)
         lu(k,1553) = - lu(k,206) * lu(k,1544)
         lu(k,1822) = - lu(k,205) * lu(k,1811)
         lu(k,1829) = lu(k,1829) - lu(k,206) * lu(k,1811)
         lu(k,3695) = - lu(k,205) * lu(k,3552)
         lu(k,3710) = lu(k,3710) - lu(k,206) * lu(k,3552)
         lu(k,207) = 1._r8 / lu(k,207)
         lu(k,208) = lu(k,208) * lu(k,207)
         lu(k,209) = lu(k,209) * lu(k,207)
         lu(k,1290) = - lu(k,208) * lu(k,1281)
         lu(k,1291) = - lu(k,209) * lu(k,1281)
         lu(k,1667) = lu(k,1667) - lu(k,208) * lu(k,1653)
         lu(k,1669) = - lu(k,209) * lu(k,1653)
         lu(k,1727) = - lu(k,208) * lu(k,1710)
         lu(k,1729) = lu(k,1729) - lu(k,209) * lu(k,1710)
         lu(k,3703) = - lu(k,208) * lu(k,3553)
         lu(k,3706) = lu(k,3706) - lu(k,209) * lu(k,3553)
         lu(k,210) = 1._r8 / lu(k,210)
         lu(k,211) = lu(k,211) * lu(k,210)
         lu(k,212) = lu(k,212) * lu(k,210)
         lu(k,1289) = - lu(k,211) * lu(k,1282)
         lu(k,1291) = lu(k,1291) - lu(k,212) * lu(k,1282)
         lu(k,1571) = lu(k,1571) - lu(k,211) * lu(k,1565)
         lu(k,1574) = - lu(k,212) * lu(k,1565)
         lu(k,1723) = - lu(k,211) * lu(k,1711)
         lu(k,1729) = lu(k,1729) - lu(k,212) * lu(k,1711)
         lu(k,3696) = - lu(k,211) * lu(k,3554)
         lu(k,3706) = lu(k,3706) - lu(k,212) * lu(k,3554)
         lu(k,214) = 1._r8 / lu(k,214)
         lu(k,215) = lu(k,215) * lu(k,214)
         lu(k,216) = lu(k,216) * lu(k,214)
         lu(k,217) = lu(k,217) * lu(k,214)
         lu(k,1161) = lu(k,1161) - lu(k,215) * lu(k,1160)
         lu(k,1164) = lu(k,1164) - lu(k,216) * lu(k,1160)
         lu(k,1166) = - lu(k,217) * lu(k,1160)
         lu(k,3662) = lu(k,3662) - lu(k,215) * lu(k,3555)
         lu(k,3750) = lu(k,3750) - lu(k,216) * lu(k,3555)
         lu(k,3756) = lu(k,3756) - lu(k,217) * lu(k,3555)
         lu(k,3842) = - lu(k,215) * lu(k,3840)
         lu(k,3856) = lu(k,3856) - lu(k,216) * lu(k,3840)
         lu(k,3862) = lu(k,3862) - lu(k,217) * lu(k,3840)
         lu(k,218) = 1._r8 / lu(k,218)
         lu(k,219) = lu(k,219) * lu(k,218)
         lu(k,220) = lu(k,220) * lu(k,218)
         lu(k,221) = lu(k,221) * lu(k,218)
         lu(k,1244) = lu(k,1244) - lu(k,219) * lu(k,1241)
         lu(k,1247) = lu(k,1247) - lu(k,220) * lu(k,1241)
         lu(k,1251) = - lu(k,221) * lu(k,1241)
         lu(k,3359) = lu(k,3359) - lu(k,219) * lu(k,3347)
         lu(k,3426) = lu(k,3426) - lu(k,220) * lu(k,3347)
         lu(k,3432) = lu(k,3432) - lu(k,221) * lu(k,3347)
         lu(k,3674) = lu(k,3674) - lu(k,219) * lu(k,3556)
         lu(k,3746) = lu(k,3746) - lu(k,220) * lu(k,3556)
         lu(k,3752) = lu(k,3752) - lu(k,221) * lu(k,3556)
         lu(k,222) = 1._r8 / lu(k,222)
         lu(k,223) = lu(k,223) * lu(k,222)
         lu(k,224) = lu(k,224) * lu(k,222)
         lu(k,225) = lu(k,225) * lu(k,222)
         lu(k,603) = lu(k,603) - lu(k,223) * lu(k,602)
         lu(k,604) = lu(k,604) - lu(k,224) * lu(k,602)
         lu(k,609) = - lu(k,225) * lu(k,602)
         lu(k,3153) = - lu(k,223) * lu(k,3134)
         lu(k,3165) = lu(k,3165) - lu(k,224) * lu(k,3134)
         lu(k,3291) = lu(k,3291) - lu(k,225) * lu(k,3134)
         lu(k,3584) = lu(k,3584) - lu(k,223) * lu(k,3557)
         lu(k,3609) = lu(k,3609) - lu(k,224) * lu(k,3557)
         lu(k,3752) = lu(k,3752) - lu(k,225) * lu(k,3557)
         lu(k,226) = 1._r8 / lu(k,226)
         lu(k,227) = lu(k,227) * lu(k,226)
         lu(k,228) = lu(k,228) * lu(k,226)
         lu(k,229) = lu(k,229) * lu(k,226)
         lu(k,2531) = lu(k,2531) - lu(k,227) * lu(k,2504)
         lu(k,2532) = lu(k,2532) - lu(k,228) * lu(k,2504)
         lu(k,2546) = lu(k,2546) - lu(k,229) * lu(k,2504)
         lu(k,3274) = lu(k,3274) - lu(k,227) * lu(k,3135)
         lu(k,3275) = lu(k,3275) - lu(k,228) * lu(k,3135)
         lu(k,3291) = lu(k,3291) - lu(k,229) * lu(k,3135)
         lu(k,3735) = lu(k,3735) - lu(k,227) * lu(k,3558)
         lu(k,3736) = lu(k,3736) - lu(k,228) * lu(k,3558)
         lu(k,3752) = lu(k,3752) - lu(k,229) * lu(k,3558)
         lu(k,230) = 1._r8 / lu(k,230)
         lu(k,231) = lu(k,231) * lu(k,230)
         lu(k,232) = lu(k,232) * lu(k,230)
         lu(k,233) = lu(k,233) * lu(k,230)
         lu(k,2576) = lu(k,2576) - lu(k,231) * lu(k,2550)
         lu(k,2579) = lu(k,2579) - lu(k,232) * lu(k,2550)
         lu(k,2592) = lu(k,2592) - lu(k,233) * lu(k,2550)
         lu(k,3273) = lu(k,3273) - lu(k,231) * lu(k,3136)
         lu(k,3276) = lu(k,3276) - lu(k,232) * lu(k,3136)
         lu(k,3291) = lu(k,3291) - lu(k,233) * lu(k,3136)
         lu(k,3734) = lu(k,3734) - lu(k,231) * lu(k,3559)
         lu(k,3737) = lu(k,3737) - lu(k,232) * lu(k,3559)
         lu(k,3752) = lu(k,3752) - lu(k,233) * lu(k,3559)
         lu(k,234) = 1._r8 / lu(k,234)
         lu(k,235) = lu(k,235) * lu(k,234)
         lu(k,236) = lu(k,236) * lu(k,234)
         lu(k,237) = lu(k,237) * lu(k,234)
         lu(k,745) = - lu(k,235) * lu(k,743)
         lu(k,747) = lu(k,747) - lu(k,236) * lu(k,743)
         lu(k,748) = lu(k,748) - lu(k,237) * lu(k,743)
         lu(k,2832) = lu(k,2832) - lu(k,235) * lu(k,2759)
         lu(k,2889) = lu(k,2889) - lu(k,236) * lu(k,2759)
         lu(k,2891) = lu(k,2891) - lu(k,237) * lu(k,2759)
         lu(k,3228) = lu(k,3228) - lu(k,235) * lu(k,3137)
         lu(k,3285) = lu(k,3285) - lu(k,236) * lu(k,3137)
         lu(k,3287) = lu(k,3287) - lu(k,237) * lu(k,3137)
      end do
      end subroutine lu_fac04
      subroutine lu_fac05( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,238) = 1._r8 / lu(k,238)
         lu(k,239) = lu(k,239) * lu(k,238)
         lu(k,240) = lu(k,240) * lu(k,238)
         lu(k,241) = lu(k,241) * lu(k,238)
         lu(k,242) = lu(k,242) * lu(k,238)
         lu(k,243) = lu(k,243) * lu(k,238)
         lu(k,3017) = lu(k,3017) - lu(k,239) * lu(k,3003)
         lu(k,3076) = lu(k,3076) - lu(k,240) * lu(k,3003)
         lu(k,3080) = lu(k,3080) - lu(k,241) * lu(k,3003)
         lu(k,3082) = lu(k,3082) - lu(k,242) * lu(k,3003)
         lu(k,3088) = lu(k,3088) - lu(k,243) * lu(k,3003)
         lu(k,3662) = lu(k,3662) - lu(k,239) * lu(k,3560)
         lu(k,3740) = lu(k,3740) - lu(k,240) * lu(k,3560)
         lu(k,3744) = lu(k,3744) - lu(k,241) * lu(k,3560)
         lu(k,3746) = lu(k,3746) - lu(k,242) * lu(k,3560)
         lu(k,3752) = lu(k,3752) - lu(k,243) * lu(k,3560)
         lu(k,244) = 1._r8 / lu(k,244)
         lu(k,245) = lu(k,245) * lu(k,244)
         lu(k,246) = lu(k,246) * lu(k,244)
         lu(k,247) = lu(k,247) * lu(k,244)
         lu(k,248) = lu(k,248) * lu(k,244)
         lu(k,249) = lu(k,249) * lu(k,244)
         lu(k,3076) = lu(k,3076) - lu(k,245) * lu(k,3004)
         lu(k,3078) = lu(k,3078) - lu(k,246) * lu(k,3004)
         lu(k,3080) = lu(k,3080) - lu(k,247) * lu(k,3004)
         lu(k,3086) = lu(k,3086) - lu(k,248) * lu(k,3004)
         lu(k,3087) = lu(k,3087) - lu(k,249) * lu(k,3004)
         lu(k,3500) = lu(k,3500) - lu(k,245) * lu(k,3468)
         lu(k,3502) = lu(k,3502) - lu(k,246) * lu(k,3468)
         lu(k,3504) = lu(k,3504) - lu(k,247) * lu(k,3468)
         lu(k,3510) = lu(k,3510) - lu(k,248) * lu(k,3468)
         lu(k,3511) = lu(k,3511) - lu(k,249) * lu(k,3468)
         lu(k,250) = 1._r8 / lu(k,250)
         lu(k,251) = lu(k,251) * lu(k,250)
         lu(k,252) = lu(k,252) * lu(k,250)
         lu(k,616) = - lu(k,251) * lu(k,610)
         lu(k,621) = lu(k,621) - lu(k,252) * lu(k,610)
         lu(k,734) = - lu(k,251) * lu(k,727)
         lu(k,740) = lu(k,740) - lu(k,252) * lu(k,727)
         lu(k,763) = - lu(k,251) * lu(k,757)
         lu(k,769) = lu(k,769) - lu(k,252) * lu(k,757)
         lu(k,779) = - lu(k,251) * lu(k,772)
         lu(k,786) = lu(k,786) - lu(k,252) * lu(k,772)
         lu(k,2788) = lu(k,2788) - lu(k,251) * lu(k,2760)
         lu(k,2889) = lu(k,2889) - lu(k,252) * lu(k,2760)
         lu(k,253) = 1._r8 / lu(k,253)
         lu(k,254) = lu(k,254) * lu(k,253)
         lu(k,255) = lu(k,255) * lu(k,253)
         lu(k,256) = lu(k,256) * lu(k,253)
         lu(k,257) = lu(k,257) * lu(k,253)
         lu(k,258) = lu(k,258) * lu(k,253)
         lu(k,3658) = lu(k,3658) - lu(k,254) * lu(k,3561)
         lu(k,3664) = lu(k,3664) - lu(k,255) * lu(k,3561)
         lu(k,3694) = lu(k,3694) - lu(k,256) * lu(k,3561)
         lu(k,3746) = lu(k,3746) - lu(k,257) * lu(k,3561)
         lu(k,3752) = lu(k,3752) - lu(k,258) * lu(k,3561)
         lu(k,3809) = - lu(k,254) * lu(k,3804)
         lu(k,3810) = - lu(k,255) * lu(k,3804)
         lu(k,3818) = lu(k,3818) - lu(k,256) * lu(k,3804)
         lu(k,3827) = lu(k,3827) - lu(k,257) * lu(k,3804)
         lu(k,3833) = lu(k,3833) - lu(k,258) * lu(k,3804)
         lu(k,259) = 1._r8 / lu(k,259)
         lu(k,260) = lu(k,260) * lu(k,259)
         lu(k,261) = lu(k,261) * lu(k,259)
         lu(k,262) = lu(k,262) * lu(k,259)
         lu(k,263) = lu(k,263) * lu(k,259)
         lu(k,264) = lu(k,264) * lu(k,259)
         lu(k,3670) = lu(k,3670) - lu(k,260) * lu(k,3562)
         lu(k,3752) = lu(k,3752) - lu(k,261) * lu(k,3562)
         lu(k,3753) = lu(k,3753) - lu(k,262) * lu(k,3562)
         lu(k,3755) = lu(k,3755) - lu(k,263) * lu(k,3562)
         lu(k,3756) = lu(k,3756) - lu(k,264) * lu(k,3562)
         lu(k,3812) = lu(k,3812) - lu(k,260) * lu(k,3805)
         lu(k,3833) = lu(k,3833) - lu(k,261) * lu(k,3805)
         lu(k,3834) = lu(k,3834) - lu(k,262) * lu(k,3805)
         lu(k,3836) = lu(k,3836) - lu(k,263) * lu(k,3805)
         lu(k,3837) = - lu(k,264) * lu(k,3805)
         lu(k,265) = 1._r8 / lu(k,265)
         lu(k,266) = lu(k,266) * lu(k,265)
         lu(k,267) = lu(k,267) * lu(k,265)
         lu(k,268) = lu(k,268) * lu(k,265)
         lu(k,269) = lu(k,269) * lu(k,265)
         lu(k,656) = lu(k,656) - lu(k,266) * lu(k,655)
         lu(k,657) = lu(k,657) - lu(k,267) * lu(k,655)
         lu(k,658) = lu(k,658) - lu(k,268) * lu(k,655)
         lu(k,662) = lu(k,662) - lu(k,269) * lu(k,655)
         lu(k,3168) = lu(k,3168) - lu(k,266) * lu(k,3138)
         lu(k,3213) = lu(k,3213) - lu(k,267) * lu(k,3138)
         lu(k,3278) = lu(k,3278) - lu(k,268) * lu(k,3138)
         lu(k,3291) = lu(k,3291) - lu(k,269) * lu(k,3138)
         lu(k,3614) = lu(k,3614) - lu(k,266) * lu(k,3563)
         lu(k,3674) = lu(k,3674) - lu(k,267) * lu(k,3563)
         lu(k,3739) = lu(k,3739) - lu(k,268) * lu(k,3563)
         lu(k,3752) = lu(k,3752) - lu(k,269) * lu(k,3563)
         lu(k,270) = 1._r8 / lu(k,270)
         lu(k,271) = lu(k,271) * lu(k,270)
         lu(k,272) = lu(k,272) * lu(k,270)
         lu(k,273) = lu(k,273) * lu(k,270)
         lu(k,274) = lu(k,274) * lu(k,270)
         lu(k,737) = - lu(k,271) * lu(k,728)
         lu(k,738) = lu(k,738) - lu(k,272) * lu(k,728)
         lu(k,739) = - lu(k,273) * lu(k,728)
         lu(k,740) = lu(k,740) - lu(k,274) * lu(k,728)
         lu(k,782) = - lu(k,271) * lu(k,773)
         lu(k,783) = lu(k,783) - lu(k,272) * lu(k,773)
         lu(k,784) = - lu(k,273) * lu(k,773)
         lu(k,786) = lu(k,786) - lu(k,274) * lu(k,773)
         lu(k,2836) = lu(k,2836) - lu(k,271) * lu(k,2761)
         lu(k,2853) = lu(k,2853) - lu(k,272) * lu(k,2761)
         lu(k,2882) = lu(k,2882) - lu(k,273) * lu(k,2761)
         lu(k,2889) = lu(k,2889) - lu(k,274) * lu(k,2761)
         lu(k,275) = 1._r8 / lu(k,275)
         lu(k,276) = lu(k,276) * lu(k,275)
         lu(k,277) = lu(k,277) * lu(k,275)
         lu(k,278) = lu(k,278) * lu(k,275)
         lu(k,279) = lu(k,279) * lu(k,275)
         lu(k,1512) = lu(k,1512) - lu(k,276) * lu(k,1510)
         lu(k,1513) = lu(k,1513) - lu(k,277) * lu(k,1510)
         lu(k,1519) = lu(k,1519) - lu(k,278) * lu(k,1510)
         lu(k,1520) = lu(k,1520) - lu(k,279) * lu(k,1510)
         lu(k,3301) = lu(k,3301) - lu(k,276) * lu(k,3299)
         lu(k,3303) = lu(k,3303) - lu(k,277) * lu(k,3299)
         lu(k,3312) = lu(k,3312) - lu(k,278) * lu(k,3299)
         lu(k,3315) = lu(k,3315) - lu(k,279) * lu(k,3299)
         lu(k,3783) = lu(k,3783) - lu(k,276) * lu(k,3780)
         lu(k,3784) = lu(k,3784) - lu(k,277) * lu(k,3780)
         lu(k,3793) = lu(k,3793) - lu(k,278) * lu(k,3780)
         lu(k,3796) = lu(k,3796) - lu(k,279) * lu(k,3780)
      end do
      end subroutine lu_fac05
      subroutine lu_fac06( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,280) = 1._r8 / lu(k,280)
         lu(k,281) = lu(k,281) * lu(k,280)
         lu(k,282) = lu(k,282) * lu(k,280)
         lu(k,283) = lu(k,283) * lu(k,280)
         lu(k,284) = lu(k,284) * lu(k,280)
         lu(k,377) = lu(k,377) - lu(k,281) * lu(k,376)
         lu(k,378) = lu(k,378) - lu(k,282) * lu(k,376)
         lu(k,380) = lu(k,380) - lu(k,283) * lu(k,376)
         lu(k,382) = - lu(k,284) * lu(k,376)
         lu(k,3150) = lu(k,3150) - lu(k,281) * lu(k,3139)
         lu(k,3206) = lu(k,3206) - lu(k,282) * lu(k,3139)
         lu(k,3285) = lu(k,3285) - lu(k,283) * lu(k,3139)
         lu(k,3291) = lu(k,3291) - lu(k,284) * lu(k,3139)
         lu(k,3579) = lu(k,3579) - lu(k,281) * lu(k,3564)
         lu(k,3664) = lu(k,3664) - lu(k,282) * lu(k,3564)
         lu(k,3746) = lu(k,3746) - lu(k,283) * lu(k,3564)
         lu(k,3752) = lu(k,3752) - lu(k,284) * lu(k,3564)
         lu(k,286) = 1._r8 / lu(k,286)
         lu(k,287) = lu(k,287) * lu(k,286)
         lu(k,288) = lu(k,288) * lu(k,286)
         lu(k,289) = lu(k,289) * lu(k,286)
         lu(k,290) = lu(k,290) * lu(k,286)
         lu(k,358) = lu(k,358) - lu(k,287) * lu(k,357)
         lu(k,359) = lu(k,359) - lu(k,288) * lu(k,357)
         lu(k,361) = lu(k,361) - lu(k,289) * lu(k,357)
         lu(k,363) = lu(k,363) - lu(k,290) * lu(k,357)
         lu(k,3147) = lu(k,3147) - lu(k,287) * lu(k,3140)
         lu(k,3156) = lu(k,3156) - lu(k,288) * lu(k,3140)
         lu(k,3285) = lu(k,3285) - lu(k,289) * lu(k,3140)
         lu(k,3291) = lu(k,3291) - lu(k,290) * lu(k,3140)
         lu(k,3576) = lu(k,3576) - lu(k,287) * lu(k,3565)
         lu(k,3592) = lu(k,3592) - lu(k,288) * lu(k,3565)
         lu(k,3746) = lu(k,3746) - lu(k,289) * lu(k,3565)
         lu(k,3752) = lu(k,3752) - lu(k,290) * lu(k,3565)
         lu(k,291) = 1._r8 / lu(k,291)
         lu(k,292) = lu(k,292) * lu(k,291)
         lu(k,293) = lu(k,293) * lu(k,291)
         lu(k,294) = lu(k,294) * lu(k,291)
         lu(k,295) = lu(k,295) * lu(k,291)
         lu(k,1243) = lu(k,1243) - lu(k,292) * lu(k,1242)
         lu(k,1244) = lu(k,1244) - lu(k,293) * lu(k,1242)
         lu(k,1247) = lu(k,1247) - lu(k,294) * lu(k,1242)
         lu(k,1251) = lu(k,1251) - lu(k,295) * lu(k,1242)
         lu(k,3210) = lu(k,3210) - lu(k,292) * lu(k,3141)
         lu(k,3213) = lu(k,3213) - lu(k,293) * lu(k,3141)
         lu(k,3285) = lu(k,3285) - lu(k,294) * lu(k,3141)
         lu(k,3291) = lu(k,3291) - lu(k,295) * lu(k,3141)
         lu(k,3670) = lu(k,3670) - lu(k,292) * lu(k,3566)
         lu(k,3674) = lu(k,3674) - lu(k,293) * lu(k,3566)
         lu(k,3746) = lu(k,3746) - lu(k,294) * lu(k,3566)
         lu(k,3752) = lu(k,3752) - lu(k,295) * lu(k,3566)
         lu(k,296) = 1._r8 / lu(k,296)
         lu(k,297) = lu(k,297) * lu(k,296)
         lu(k,298) = lu(k,298) * lu(k,296)
         lu(k,299) = lu(k,299) * lu(k,296)
         lu(k,833) = - lu(k,297) * lu(k,831)
         lu(k,839) = lu(k,839) - lu(k,298) * lu(k,831)
         lu(k,842) = lu(k,842) - lu(k,299) * lu(k,831)
         lu(k,915) = - lu(k,297) * lu(k,914)
         lu(k,922) = lu(k,922) - lu(k,298) * lu(k,914)
         lu(k,924) = lu(k,924) - lu(k,299) * lu(k,914)
         lu(k,3163) = lu(k,3163) - lu(k,297) * lu(k,3142)
         lu(k,3285) = lu(k,3285) - lu(k,298) * lu(k,3142)
         lu(k,3291) = lu(k,3291) - lu(k,299) * lu(k,3142)
         lu(k,3608) = lu(k,3608) - lu(k,297) * lu(k,3567)
         lu(k,3746) = lu(k,3746) - lu(k,298) * lu(k,3567)
         lu(k,3752) = lu(k,3752) - lu(k,299) * lu(k,3567)
         lu(k,300) = 1._r8 / lu(k,300)
         lu(k,301) = lu(k,301) * lu(k,300)
         lu(k,302) = lu(k,302) * lu(k,300)
         lu(k,303) = lu(k,303) * lu(k,300)
         lu(k,304) = lu(k,304) * lu(k,300)
         lu(k,305) = lu(k,305) * lu(k,300)
         lu(k,306) = lu(k,306) * lu(k,300)
         lu(k,307) = lu(k,307) * lu(k,300)
         lu(k,3438) = - lu(k,301) * lu(k,3437)
         lu(k,3443) = - lu(k,302) * lu(k,3437)
         lu(k,3447) = lu(k,3447) - lu(k,303) * lu(k,3437)
         lu(k,3448) = lu(k,3448) - lu(k,304) * lu(k,3437)
         lu(k,3451) = lu(k,3451) - lu(k,305) * lu(k,3437)
         lu(k,3460) = lu(k,3460) - lu(k,306) * lu(k,3437)
         lu(k,3462) = lu(k,3462) - lu(k,307) * lu(k,3437)
         lu(k,3591) = lu(k,3591) - lu(k,301) * lu(k,3568)
         lu(k,3662) = lu(k,3662) - lu(k,302) * lu(k,3568)
         lu(k,3692) = lu(k,3692) - lu(k,303) * lu(k,3568)
         lu(k,3694) = lu(k,3694) - lu(k,304) * lu(k,3568)
         lu(k,3741) = lu(k,3741) - lu(k,305) * lu(k,3568)
         lu(k,3750) = lu(k,3750) - lu(k,306) * lu(k,3568)
         lu(k,3752) = lu(k,3752) - lu(k,307) * lu(k,3568)
         lu(k,308) = 1._r8 / lu(k,308)
         lu(k,309) = lu(k,309) * lu(k,308)
         lu(k,310) = lu(k,310) * lu(k,308)
         lu(k,311) = lu(k,311) * lu(k,308)
         lu(k,312) = lu(k,312) * lu(k,308)
         lu(k,313) = lu(k,313) * lu(k,308)
         lu(k,314) = lu(k,314) * lu(k,308)
         lu(k,315) = lu(k,315) * lu(k,308)
         lu(k,3006) = - lu(k,309) * lu(k,3005)
         lu(k,3022) = lu(k,3022) - lu(k,310) * lu(k,3005)
         lu(k,3057) = lu(k,3057) - lu(k,311) * lu(k,3005)
         lu(k,3080) = lu(k,3080) - lu(k,312) * lu(k,3005)
         lu(k,3084) = lu(k,3084) - lu(k,313) * lu(k,3005)
         lu(k,3087) = lu(k,3087) - lu(k,314) * lu(k,3005)
         lu(k,3088) = lu(k,3088) - lu(k,315) * lu(k,3005)
         lu(k,3602) = lu(k,3602) - lu(k,309) * lu(k,3569)
         lu(k,3674) = lu(k,3674) - lu(k,310) * lu(k,3569)
         lu(k,3721) = lu(k,3721) - lu(k,311) * lu(k,3569)
         lu(k,3744) = lu(k,3744) - lu(k,312) * lu(k,3569)
         lu(k,3748) = lu(k,3748) - lu(k,313) * lu(k,3569)
         lu(k,3751) = lu(k,3751) - lu(k,314) * lu(k,3569)
         lu(k,3752) = lu(k,3752) - lu(k,315) * lu(k,3569)
         lu(k,316) = 1._r8 / lu(k,316)
         lu(k,317) = lu(k,317) * lu(k,316)
         lu(k,318) = lu(k,318) * lu(k,316)
         lu(k,319) = lu(k,319) * lu(k,316)
         lu(k,320) = lu(k,320) * lu(k,316)
         lu(k,321) = lu(k,321) * lu(k,316)
         lu(k,2884) = - lu(k,317) * lu(k,2762)
         lu(k,2885) = lu(k,2885) - lu(k,318) * lu(k,2762)
         lu(k,2893) = lu(k,2893) - lu(k,319) * lu(k,2762)
         lu(k,2894) = lu(k,2894) - lu(k,320) * lu(k,2762)
         lu(k,2895) = lu(k,2895) - lu(k,321) * lu(k,2762)
         lu(k,3501) = - lu(k,317) * lu(k,3469)
         lu(k,3502) = lu(k,3502) - lu(k,318) * lu(k,3469)
         lu(k,3510) = lu(k,3510) - lu(k,319) * lu(k,3469)
         lu(k,3511) = lu(k,3511) - lu(k,320) * lu(k,3469)
         lu(k,3512) = lu(k,3512) - lu(k,321) * lu(k,3469)
         lu(k,3741) = lu(k,3741) - lu(k,317) * lu(k,3570)
         lu(k,3742) = lu(k,3742) - lu(k,318) * lu(k,3570)
         lu(k,3750) = lu(k,3750) - lu(k,319) * lu(k,3570)
         lu(k,3751) = lu(k,3751) - lu(k,320) * lu(k,3570)
         lu(k,3752) = lu(k,3752) - lu(k,321) * lu(k,3570)
         lu(k,322) = 1._r8 / lu(k,322)
         lu(k,323) = lu(k,323) * lu(k,322)
         lu(k,324) = lu(k,324) * lu(k,322)
         lu(k,325) = lu(k,325) * lu(k,322)
         lu(k,326) = lu(k,326) * lu(k,322)
         lu(k,327) = lu(k,327) * lu(k,322)
         lu(k,434) = lu(k,434) - lu(k,323) * lu(k,433)
         lu(k,435) = lu(k,435) - lu(k,324) * lu(k,433)
         lu(k,437) = lu(k,437) - lu(k,325) * lu(k,433)
         lu(k,439) = lu(k,439) - lu(k,326) * lu(k,433)
         lu(k,441) = - lu(k,327) * lu(k,433)
         lu(k,3151) = - lu(k,323) * lu(k,3143)
         lu(k,3154) = lu(k,3154) - lu(k,324) * lu(k,3143)
         lu(k,3206) = lu(k,3206) - lu(k,325) * lu(k,3143)
         lu(k,3285) = lu(k,3285) - lu(k,326) * lu(k,3143)
         lu(k,3291) = lu(k,3291) - lu(k,327) * lu(k,3143)
         lu(k,3580) = lu(k,3580) - lu(k,323) * lu(k,3571)
         lu(k,3588) = lu(k,3588) - lu(k,324) * lu(k,3571)
         lu(k,3664) = lu(k,3664) - lu(k,325) * lu(k,3571)
         lu(k,3746) = lu(k,3746) - lu(k,326) * lu(k,3571)
         lu(k,3752) = lu(k,3752) - lu(k,327) * lu(k,3571)
      end do
      end subroutine lu_fac06
      subroutine lu_fac07( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,328) = 1._r8 / lu(k,328)
         lu(k,329) = lu(k,329) * lu(k,328)
         lu(k,330) = lu(k,330) * lu(k,328)
         lu(k,331) = lu(k,331) * lu(k,328)
         lu(k,617) = - lu(k,329) * lu(k,611)
         lu(k,619) = - lu(k,330) * lu(k,611)
         lu(k,621) = lu(k,621) - lu(k,331) * lu(k,611)
         lu(k,735) = - lu(k,329) * lu(k,729)
         lu(k,737) = lu(k,737) - lu(k,330) * lu(k,729)
         lu(k,740) = lu(k,740) - lu(k,331) * lu(k,729)
         lu(k,764) = - lu(k,329) * lu(k,758)
         lu(k,766) = - lu(k,330) * lu(k,758)
         lu(k,769) = lu(k,769) - lu(k,331) * lu(k,758)
         lu(k,780) = - lu(k,329) * lu(k,774)
         lu(k,782) = lu(k,782) - lu(k,330) * lu(k,774)
         lu(k,786) = lu(k,786) - lu(k,331) * lu(k,774)
         lu(k,2791) = lu(k,2791) - lu(k,329) * lu(k,2763)
         lu(k,2836) = lu(k,2836) - lu(k,330) * lu(k,2763)
         lu(k,2889) = lu(k,2889) - lu(k,331) * lu(k,2763)
         lu(k,332) = 1._r8 / lu(k,332)
         lu(k,333) = lu(k,333) * lu(k,332)
         lu(k,334) = lu(k,334) * lu(k,332)
         lu(k,335) = lu(k,335) * lu(k,332)
         lu(k,336) = lu(k,336) * lu(k,332)
         lu(k,337) = lu(k,337) * lu(k,332)
         lu(k,1224) = lu(k,1224) - lu(k,333) * lu(k,1223)
         lu(k,1228) = lu(k,1228) - lu(k,334) * lu(k,1223)
         lu(k,1231) = lu(k,1231) - lu(k,335) * lu(k,1223)
         lu(k,1234) = lu(k,1234) - lu(k,336) * lu(k,1223)
         lu(k,1235) = - lu(k,337) * lu(k,1223)
         lu(k,3208) = lu(k,3208) - lu(k,333) * lu(k,3144)
         lu(k,3278) = lu(k,3278) - lu(k,334) * lu(k,3144)
         lu(k,3287) = lu(k,3287) - lu(k,335) * lu(k,3144)
         lu(k,3291) = lu(k,3291) - lu(k,336) * lu(k,3144)
         lu(k,3295) = lu(k,3295) - lu(k,337) * lu(k,3144)
         lu(k,3668) = lu(k,3668) - lu(k,333) * lu(k,3572)
         lu(k,3739) = lu(k,3739) - lu(k,334) * lu(k,3572)
         lu(k,3748) = lu(k,3748) - lu(k,335) * lu(k,3572)
         lu(k,3752) = lu(k,3752) - lu(k,336) * lu(k,3572)
         lu(k,3756) = lu(k,3756) - lu(k,337) * lu(k,3572)
         lu(k,338) = 1._r8 / lu(k,338)
         lu(k,339) = lu(k,339) * lu(k,338)
         lu(k,340) = lu(k,340) * lu(k,338)
         lu(k,341) = lu(k,341) * lu(k,338)
         lu(k,342) = lu(k,342) * lu(k,338)
         lu(k,343) = lu(k,343) * lu(k,338)
         lu(k,975) = lu(k,975) - lu(k,339) * lu(k,974)
         lu(k,977) = lu(k,977) - lu(k,340) * lu(k,974)
         lu(k,979) = lu(k,979) - lu(k,341) * lu(k,974)
         lu(k,983) = - lu(k,342) * lu(k,974)
         lu(k,984) = - lu(k,343) * lu(k,974)
         lu(k,3191) = lu(k,3191) - lu(k,339) * lu(k,3145)
         lu(k,3260) = lu(k,3260) - lu(k,340) * lu(k,3145)
         lu(k,3285) = lu(k,3285) - lu(k,341) * lu(k,3145)
         lu(k,3291) = lu(k,3291) - lu(k,342) * lu(k,3145)
         lu(k,3295) = lu(k,3295) - lu(k,343) * lu(k,3145)
         lu(k,3644) = lu(k,3644) - lu(k,339) * lu(k,3573)
         lu(k,3721) = lu(k,3721) - lu(k,340) * lu(k,3573)
         lu(k,3746) = lu(k,3746) - lu(k,341) * lu(k,3573)
         lu(k,3752) = lu(k,3752) - lu(k,342) * lu(k,3573)
         lu(k,3756) = lu(k,3756) - lu(k,343) * lu(k,3573)
         lu(k,344) = 1._r8 / lu(k,344)
         lu(k,345) = lu(k,345) * lu(k,344)
         lu(k,346) = lu(k,346) * lu(k,344)
         lu(k,347) = lu(k,347) * lu(k,344)
         lu(k,348) = lu(k,348) * lu(k,344)
         lu(k,349) = lu(k,349) * lu(k,344)
         lu(k,2599) = - lu(k,345) * lu(k,2596)
         lu(k,2602) = lu(k,2602) - lu(k,346) * lu(k,2596)
         lu(k,2627) = lu(k,2627) - lu(k,347) * lu(k,2596)
         lu(k,2638) = lu(k,2638) - lu(k,348) * lu(k,2596)
         lu(k,2639) = lu(k,2639) - lu(k,349) * lu(k,2596)
         lu(k,3485) = - lu(k,345) * lu(k,3470)
         lu(k,3490) = - lu(k,346) * lu(k,3470)
         lu(k,3498) = lu(k,3498) - lu(k,347) * lu(k,3470)
         lu(k,3511) = lu(k,3511) - lu(k,348) * lu(k,3470)
         lu(k,3512) = lu(k,3512) - lu(k,349) * lu(k,3470)
         lu(k,3663) = lu(k,3663) - lu(k,345) * lu(k,3574)
         lu(k,3694) = lu(k,3694) - lu(k,346) * lu(k,3574)
         lu(k,3738) = lu(k,3738) - lu(k,347) * lu(k,3574)
         lu(k,3751) = lu(k,3751) - lu(k,348) * lu(k,3574)
         lu(k,3752) = lu(k,3752) - lu(k,349) * lu(k,3574)
         lu(k,350) = 1._r8 / lu(k,350)
         lu(k,351) = lu(k,351) * lu(k,350)
         lu(k,352) = lu(k,352) * lu(k,350)
         lu(k,353) = lu(k,353) * lu(k,350)
         lu(k,354) = lu(k,354) * lu(k,350)
         lu(k,355) = lu(k,355) * lu(k,350)
         lu(k,443) = lu(k,443) - lu(k,351) * lu(k,442)
         lu(k,444) = lu(k,444) - lu(k,352) * lu(k,442)
         lu(k,445) = lu(k,445) - lu(k,353) * lu(k,442)
         lu(k,447) = lu(k,447) - lu(k,354) * lu(k,442)
         lu(k,449) = - lu(k,355) * lu(k,442)
         lu(k,3155) = lu(k,3155) - lu(k,351) * lu(k,3146)
         lu(k,3206) = lu(k,3206) - lu(k,352) * lu(k,3146)
         lu(k,3249) = lu(k,3249) - lu(k,353) * lu(k,3146)
         lu(k,3285) = lu(k,3285) - lu(k,354) * lu(k,3146)
         lu(k,3291) = lu(k,3291) - lu(k,355) * lu(k,3146)
         lu(k,3589) = lu(k,3589) - lu(k,351) * lu(k,3575)
         lu(k,3664) = lu(k,3664) - lu(k,352) * lu(k,3575)
         lu(k,3711) = lu(k,3711) - lu(k,353) * lu(k,3575)
         lu(k,3746) = lu(k,3746) - lu(k,354) * lu(k,3575)
         lu(k,3752) = lu(k,3752) - lu(k,355) * lu(k,3575)
         lu(k,358) = 1._r8 / lu(k,358)
         lu(k,359) = lu(k,359) * lu(k,358)
         lu(k,360) = lu(k,360) * lu(k,358)
         lu(k,361) = lu(k,361) * lu(k,358)
         lu(k,362) = lu(k,362) * lu(k,358)
         lu(k,363) = lu(k,363) * lu(k,358)
         lu(k,2771) = lu(k,2771) - lu(k,359) * lu(k,2764)
         lu(k,2885) = lu(k,2885) - lu(k,360) * lu(k,2764)
         lu(k,2889) = lu(k,2889) - lu(k,361) * lu(k,2764)
         lu(k,2894) = lu(k,2894) - lu(k,362) * lu(k,2764)
         lu(k,2895) = lu(k,2895) - lu(k,363) * lu(k,2764)
         lu(k,3156) = lu(k,3156) - lu(k,359) * lu(k,3147)
         lu(k,3281) = lu(k,3281) - lu(k,360) * lu(k,3147)
         lu(k,3285) = lu(k,3285) - lu(k,361) * lu(k,3147)
         lu(k,3290) = lu(k,3290) - lu(k,362) * lu(k,3147)
         lu(k,3291) = lu(k,3291) - lu(k,363) * lu(k,3147)
         lu(k,3592) = lu(k,3592) - lu(k,359) * lu(k,3576)
         lu(k,3742) = lu(k,3742) - lu(k,360) * lu(k,3576)
         lu(k,3746) = lu(k,3746) - lu(k,361) * lu(k,3576)
         lu(k,3751) = lu(k,3751) - lu(k,362) * lu(k,3576)
         lu(k,3752) = lu(k,3752) - lu(k,363) * lu(k,3576)
         lu(k,364) = 1._r8 / lu(k,364)
         lu(k,365) = lu(k,365) * lu(k,364)
         lu(k,366) = lu(k,366) * lu(k,364)
         lu(k,367) = lu(k,367) * lu(k,364)
         lu(k,368) = lu(k,368) * lu(k,364)
         lu(k,369) = lu(k,369) * lu(k,364)
         lu(k,3283) = lu(k,3283) - lu(k,365) * lu(k,3148)
         lu(k,3285) = lu(k,3285) - lu(k,366) * lu(k,3148)
         lu(k,3290) = lu(k,3290) - lu(k,367) * lu(k,3148)
         lu(k,3291) = lu(k,3291) - lu(k,368) * lu(k,3148)
         lu(k,3295) = lu(k,3295) - lu(k,369) * lu(k,3148)
         lu(k,3504) = lu(k,3504) - lu(k,365) * lu(k,3471)
         lu(k,3506) = lu(k,3506) - lu(k,366) * lu(k,3471)
         lu(k,3511) = lu(k,3511) - lu(k,367) * lu(k,3471)
         lu(k,3512) = lu(k,3512) - lu(k,368) * lu(k,3471)
         lu(k,3516) = - lu(k,369) * lu(k,3471)
         lu(k,3744) = lu(k,3744) - lu(k,365) * lu(k,3577)
         lu(k,3746) = lu(k,3746) - lu(k,366) * lu(k,3577)
         lu(k,3751) = lu(k,3751) - lu(k,367) * lu(k,3577)
         lu(k,3752) = lu(k,3752) - lu(k,368) * lu(k,3577)
         lu(k,3756) = lu(k,3756) - lu(k,369) * lu(k,3577)
      end do
      end subroutine lu_fac07
      subroutine lu_fac08( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,370) = 1._r8 / lu(k,370)
         lu(k,371) = lu(k,371) * lu(k,370)
         lu(k,372) = lu(k,372) * lu(k,370)
         lu(k,373) = lu(k,373) * lu(k,370)
         lu(k,374) = lu(k,374) * lu(k,370)
         lu(k,375) = lu(k,375) * lu(k,370)
         lu(k,3280) = lu(k,3280) - lu(k,371) * lu(k,3149)
         lu(k,3287) = lu(k,3287) - lu(k,372) * lu(k,3149)
         lu(k,3288) = lu(k,3288) - lu(k,373) * lu(k,3149)
         lu(k,3291) = lu(k,3291) - lu(k,374) * lu(k,3149)
         lu(k,3295) = lu(k,3295) - lu(k,375) * lu(k,3149)
         lu(k,3421) = - lu(k,371) * lu(k,3348)
         lu(k,3428) = lu(k,3428) - lu(k,372) * lu(k,3348)
         lu(k,3429) = lu(k,3429) - lu(k,373) * lu(k,3348)
         lu(k,3432) = lu(k,3432) - lu(k,374) * lu(k,3348)
         lu(k,3436) = - lu(k,375) * lu(k,3348)
         lu(k,3741) = lu(k,3741) - lu(k,371) * lu(k,3578)
         lu(k,3748) = lu(k,3748) - lu(k,372) * lu(k,3578)
         lu(k,3749) = lu(k,3749) - lu(k,373) * lu(k,3578)
         lu(k,3752) = lu(k,3752) - lu(k,374) * lu(k,3578)
         lu(k,3756) = lu(k,3756) - lu(k,375) * lu(k,3578)
         lu(k,377) = 1._r8 / lu(k,377)
         lu(k,378) = lu(k,378) * lu(k,377)
         lu(k,379) = lu(k,379) * lu(k,377)
         lu(k,380) = lu(k,380) * lu(k,377)
         lu(k,381) = lu(k,381) * lu(k,377)
         lu(k,382) = lu(k,382) * lu(k,377)
         lu(k,2813) = lu(k,2813) - lu(k,378) * lu(k,2765)
         lu(k,2885) = lu(k,2885) - lu(k,379) * lu(k,2765)
         lu(k,2889) = lu(k,2889) - lu(k,380) * lu(k,2765)
         lu(k,2894) = lu(k,2894) - lu(k,381) * lu(k,2765)
         lu(k,2895) = lu(k,2895) - lu(k,382) * lu(k,2765)
         lu(k,3206) = lu(k,3206) - lu(k,378) * lu(k,3150)
         lu(k,3281) = lu(k,3281) - lu(k,379) * lu(k,3150)
         lu(k,3285) = lu(k,3285) - lu(k,380) * lu(k,3150)
         lu(k,3290) = lu(k,3290) - lu(k,381) * lu(k,3150)
         lu(k,3291) = lu(k,3291) - lu(k,382) * lu(k,3150)
         lu(k,3664) = lu(k,3664) - lu(k,378) * lu(k,3579)
         lu(k,3742) = lu(k,3742) - lu(k,379) * lu(k,3579)
         lu(k,3746) = lu(k,3746) - lu(k,380) * lu(k,3579)
         lu(k,3751) = lu(k,3751) - lu(k,381) * lu(k,3579)
         lu(k,3752) = lu(k,3752) - lu(k,382) * lu(k,3579)
         lu(k,383) = 1._r8 / lu(k,383)
         lu(k,384) = lu(k,384) * lu(k,383)
         lu(k,385) = lu(k,385) * lu(k,383)
         lu(k,436) = - lu(k,384) * lu(k,434)
         lu(k,439) = lu(k,439) - lu(k,385) * lu(k,434)
         lu(k,614) = - lu(k,384) * lu(k,612)
         lu(k,621) = lu(k,621) - lu(k,385) * lu(k,612)
         lu(k,732) = - lu(k,384) * lu(k,730)
         lu(k,740) = lu(k,740) - lu(k,385) * lu(k,730)
         lu(k,761) = - lu(k,384) * lu(k,759)
         lu(k,769) = lu(k,769) - lu(k,385) * lu(k,759)
         lu(k,777) = - lu(k,384) * lu(k,775)
         lu(k,786) = lu(k,786) - lu(k,385) * lu(k,775)
         lu(k,2785) = lu(k,2785) - lu(k,384) * lu(k,2766)
         lu(k,2889) = lu(k,2889) - lu(k,385) * lu(k,2766)
         lu(k,3177) = lu(k,3177) - lu(k,384) * lu(k,3151)
         lu(k,3285) = lu(k,3285) - lu(k,385) * lu(k,3151)
         lu(k,3624) = - lu(k,384) * lu(k,3580)
         lu(k,3746) = lu(k,3746) - lu(k,385) * lu(k,3580)
         lu(k,386) = 1._r8 / lu(k,386)
         lu(k,387) = lu(k,387) * lu(k,386)
         lu(k,388) = lu(k,388) * lu(k,386)
         lu(k,389) = lu(k,389) * lu(k,386)
         lu(k,390) = lu(k,390) * lu(k,386)
         lu(k,2093) = - lu(k,387) * lu(k,2092)
         lu(k,2099) = lu(k,2099) - lu(k,388) * lu(k,2092)
         lu(k,2109) = lu(k,2109) - lu(k,389) * lu(k,2092)
         lu(k,2113) = lu(k,2113) - lu(k,390) * lu(k,2092)
         lu(k,2263) = - lu(k,387) * lu(k,2262)
         lu(k,2272) = lu(k,2272) - lu(k,388) * lu(k,2262)
         lu(k,2285) = lu(k,2285) - lu(k,389) * lu(k,2262)
         lu(k,2289) = lu(k,2289) - lu(k,390) * lu(k,2262)
         lu(k,3189) = lu(k,3189) - lu(k,387) * lu(k,3152)
         lu(k,3270) = lu(k,3270) - lu(k,388) * lu(k,3152)
         lu(k,3285) = lu(k,3285) - lu(k,389) * lu(k,3152)
         lu(k,3291) = lu(k,3291) - lu(k,390) * lu(k,3152)
         lu(k,3640) = lu(k,3640) - lu(k,387) * lu(k,3581)
         lu(k,3731) = lu(k,3731) - lu(k,388) * lu(k,3581)
         lu(k,3746) = lu(k,3746) - lu(k,389) * lu(k,3581)
         lu(k,3752) = lu(k,3752) - lu(k,390) * lu(k,3581)
         lu(k,391) = 1._r8 / lu(k,391)
         lu(k,392) = lu(k,392) * lu(k,391)
         lu(k,393) = lu(k,393) * lu(k,391)
         lu(k,394) = lu(k,394) * lu(k,391)
         lu(k,395) = lu(k,395) * lu(k,391)
         lu(k,396) = lu(k,396) * lu(k,391)
         lu(k,397) = lu(k,397) * lu(k,391)
         lu(k,1497) = lu(k,1497) - lu(k,392) * lu(k,1494)
         lu(k,1498) = lu(k,1498) - lu(k,393) * lu(k,1494)
         lu(k,1499) = - lu(k,394) * lu(k,1494)
         lu(k,1503) = lu(k,1503) - lu(k,395) * lu(k,1494)
         lu(k,1507) = lu(k,1507) - lu(k,396) * lu(k,1494)
         lu(k,1508) = lu(k,1508) - lu(k,397) * lu(k,1494)
         lu(k,3488) = lu(k,3488) - lu(k,392) * lu(k,3472)
         lu(k,3490) = lu(k,3490) - lu(k,393) * lu(k,3472)
         lu(k,3491) = - lu(k,394) * lu(k,3472)
         lu(k,3504) = lu(k,3504) - lu(k,395) * lu(k,3472)
         lu(k,3511) = lu(k,3511) - lu(k,396) * lu(k,3472)
         lu(k,3512) = lu(k,3512) - lu(k,397) * lu(k,3472)
         lu(k,3691) = lu(k,3691) - lu(k,392) * lu(k,3582)
         lu(k,3694) = lu(k,3694) - lu(k,393) * lu(k,3582)
         lu(k,3699) = lu(k,3699) - lu(k,394) * lu(k,3582)
         lu(k,3744) = lu(k,3744) - lu(k,395) * lu(k,3582)
         lu(k,3751) = lu(k,3751) - lu(k,396) * lu(k,3582)
         lu(k,3752) = lu(k,3752) - lu(k,397) * lu(k,3582)
         lu(k,398) = 1._r8 / lu(k,398)
         lu(k,399) = lu(k,399) * lu(k,398)
         lu(k,400) = lu(k,400) * lu(k,398)
         lu(k,401) = lu(k,401) * lu(k,398)
         lu(k,402) = lu(k,402) * lu(k,398)
         lu(k,403) = lu(k,403) * lu(k,398)
         lu(k,404) = lu(k,404) * lu(k,398)
         lu(k,2699) = lu(k,2699) - lu(k,399) * lu(k,2643)
         lu(k,2704) = - lu(k,400) * lu(k,2643)
         lu(k,2706) = lu(k,2706) - lu(k,401) * lu(k,2643)
         lu(k,2707) = lu(k,2707) - lu(k,402) * lu(k,2643)
         lu(k,2709) = lu(k,2709) - lu(k,403) * lu(k,2643)
         lu(k,2710) = lu(k,2710) - lu(k,404) * lu(k,2643)
         lu(k,3499) = lu(k,3499) - lu(k,399) * lu(k,3473)
         lu(k,3504) = lu(k,3504) - lu(k,400) * lu(k,3473)
         lu(k,3508) = - lu(k,401) * lu(k,3473)
         lu(k,3509) = - lu(k,402) * lu(k,3473)
         lu(k,3511) = lu(k,3511) - lu(k,403) * lu(k,3473)
         lu(k,3512) = lu(k,3512) - lu(k,404) * lu(k,3473)
         lu(k,3739) = lu(k,3739) - lu(k,399) * lu(k,3583)
         lu(k,3744) = lu(k,3744) - lu(k,400) * lu(k,3583)
         lu(k,3748) = lu(k,3748) - lu(k,401) * lu(k,3583)
         lu(k,3749) = lu(k,3749) - lu(k,402) * lu(k,3583)
         lu(k,3751) = lu(k,3751) - lu(k,403) * lu(k,3583)
         lu(k,3752) = lu(k,3752) - lu(k,404) * lu(k,3583)
         lu(k,405) = 1._r8 / lu(k,405)
         lu(k,406) = lu(k,406) * lu(k,405)
         lu(k,407) = lu(k,407) * lu(k,405)
         lu(k,408) = lu(k,408) * lu(k,405)
         lu(k,604) = lu(k,604) - lu(k,406) * lu(k,603)
         lu(k,606) = - lu(k,407) * lu(k,603)
         lu(k,608) = lu(k,608) - lu(k,408) * lu(k,603)
         lu(k,2777) = lu(k,2777) - lu(k,406) * lu(k,2767)
         lu(k,2886) = lu(k,2886) - lu(k,407) * lu(k,2767)
         lu(k,2894) = lu(k,2894) - lu(k,408) * lu(k,2767)
         lu(k,2911) = lu(k,2911) - lu(k,406) * lu(k,2906)
         lu(k,2987) = lu(k,2987) - lu(k,407) * lu(k,2906)
         lu(k,2995) = lu(k,2995) - lu(k,408) * lu(k,2906)
         lu(k,3165) = lu(k,3165) - lu(k,406) * lu(k,3153)
         lu(k,3282) = lu(k,3282) - lu(k,407) * lu(k,3153)
         lu(k,3290) = lu(k,3290) - lu(k,408) * lu(k,3153)
         lu(k,3479) = - lu(k,406) * lu(k,3474)
         lu(k,3503) = lu(k,3503) - lu(k,407) * lu(k,3474)
         lu(k,3511) = lu(k,3511) - lu(k,408) * lu(k,3474)
         lu(k,3609) = lu(k,3609) - lu(k,406) * lu(k,3584)
         lu(k,3743) = lu(k,3743) - lu(k,407) * lu(k,3584)
         lu(k,3751) = lu(k,3751) - lu(k,408) * lu(k,3584)
      end do
      end subroutine lu_fac08
      subroutine lu_fac09( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,409) = 1._r8 / lu(k,409)
         lu(k,410) = lu(k,410) * lu(k,409)
         lu(k,411) = lu(k,411) * lu(k,409)
         lu(k,412) = lu(k,412) * lu(k,409)
         lu(k,413) = lu(k,413) * lu(k,409)
         lu(k,414) = lu(k,414) * lu(k,409)
         lu(k,415) = lu(k,415) * lu(k,409)
         lu(k,416) = lu(k,416) * lu(k,409)
         lu(k,417) = lu(k,417) * lu(k,409)
         lu(k,418) = lu(k,418) * lu(k,409)
         lu(k,1049) = - lu(k,410) * lu(k,1047)
         lu(k,1051) = - lu(k,411) * lu(k,1047)
         lu(k,1052) = - lu(k,412) * lu(k,1047)
         lu(k,1054) = - lu(k,413) * lu(k,1047)
         lu(k,1058) = - lu(k,414) * lu(k,1047)
         lu(k,1059) = - lu(k,415) * lu(k,1047)
         lu(k,1060) = lu(k,1060) - lu(k,416) * lu(k,1047)
         lu(k,1061) = lu(k,1061) - lu(k,417) * lu(k,1047)
         lu(k,1062) = lu(k,1062) - lu(k,418) * lu(k,1047)
         lu(k,3658) = lu(k,3658) - lu(k,410) * lu(k,3585)
         lu(k,3669) = lu(k,3669) - lu(k,411) * lu(k,3585)
         lu(k,3690) = lu(k,3690) - lu(k,412) * lu(k,3585)
         lu(k,3711) = lu(k,3711) - lu(k,413) * lu(k,3585)
         lu(k,3740) = lu(k,3740) - lu(k,414) * lu(k,3585)
         lu(k,3746) = lu(k,3746) - lu(k,415) * lu(k,3585)
         lu(k,3748) = lu(k,3748) - lu(k,416) * lu(k,3585)
         lu(k,3751) = lu(k,3751) - lu(k,417) * lu(k,3585)
         lu(k,3752) = lu(k,3752) - lu(k,418) * lu(k,3585)
         lu(k,419) = 1._r8 / lu(k,419)
         lu(k,420) = lu(k,420) * lu(k,419)
         lu(k,421) = lu(k,421) * lu(k,419)
         lu(k,422) = lu(k,422) * lu(k,419)
         lu(k,423) = lu(k,423) * lu(k,419)
         lu(k,424) = lu(k,424) * lu(k,419)
         lu(k,425) = lu(k,425) * lu(k,419)
         lu(k,1772) = - lu(k,420) * lu(k,1766)
         lu(k,1774) = lu(k,1774) - lu(k,421) * lu(k,1766)
         lu(k,1777) = lu(k,1777) - lu(k,422) * lu(k,1766)
         lu(k,1784) = - lu(k,423) * lu(k,1766)
         lu(k,1790) = lu(k,1790) - lu(k,424) * lu(k,1766)
         lu(k,1794) = lu(k,1794) - lu(k,425) * lu(k,1766)
         lu(k,1881) = - lu(k,420) * lu(k,1876)
         lu(k,1883) = - lu(k,421) * lu(k,1876)
         lu(k,1886) = - lu(k,422) * lu(k,1876)
         lu(k,1895) = lu(k,1895) - lu(k,423) * lu(k,1876)
         lu(k,1906) = lu(k,1906) - lu(k,424) * lu(k,1876)
         lu(k,1910) = lu(k,1910) - lu(k,425) * lu(k,1876)
         lu(k,3669) = lu(k,3669) - lu(k,420) * lu(k,3586)
         lu(k,3681) = lu(k,3681) - lu(k,421) * lu(k,3586)
         lu(k,3694) = lu(k,3694) - lu(k,422) * lu(k,3586)
         lu(k,3712) = lu(k,3712) - lu(k,423) * lu(k,3586)
         lu(k,3746) = lu(k,3746) - lu(k,424) * lu(k,3586)
         lu(k,3752) = lu(k,3752) - lu(k,425) * lu(k,3586)
         lu(k,426) = 1._r8 / lu(k,426)
         lu(k,427) = lu(k,427) * lu(k,426)
         lu(k,428) = lu(k,428) * lu(k,426)
         lu(k,429) = lu(k,429) * lu(k,426)
         lu(k,430) = lu(k,430) * lu(k,426)
         lu(k,431) = lu(k,431) * lu(k,426)
         lu(k,432) = lu(k,432) * lu(k,426)
         lu(k,1659) = - lu(k,427) * lu(k,1654)
         lu(k,1660) = lu(k,1660) - lu(k,428) * lu(k,1654)
         lu(k,1664) = lu(k,1664) - lu(k,429) * lu(k,1654)
         lu(k,1670) = - lu(k,430) * lu(k,1654)
         lu(k,1678) = lu(k,1678) - lu(k,431) * lu(k,1654)
         lu(k,1682) = lu(k,1682) - lu(k,432) * lu(k,1654)
         lu(k,1881) = lu(k,1881) - lu(k,427) * lu(k,1877)
         lu(k,1882) = - lu(k,428) * lu(k,1877)
         lu(k,1886) = lu(k,1886) - lu(k,429) * lu(k,1877)
         lu(k,1891) = lu(k,1891) - lu(k,430) * lu(k,1877)
         lu(k,1906) = lu(k,1906) - lu(k,431) * lu(k,1877)
         lu(k,1910) = lu(k,1910) - lu(k,432) * lu(k,1877)
         lu(k,3669) = lu(k,3669) - lu(k,427) * lu(k,3587)
         lu(k,3676) = lu(k,3676) - lu(k,428) * lu(k,3587)
         lu(k,3694) = lu(k,3694) - lu(k,429) * lu(k,3587)
         lu(k,3707) = lu(k,3707) - lu(k,430) * lu(k,3587)
         lu(k,3746) = lu(k,3746) - lu(k,431) * lu(k,3587)
         lu(k,3752) = lu(k,3752) - lu(k,432) * lu(k,3587)
         lu(k,435) = 1._r8 / lu(k,435)
         lu(k,436) = lu(k,436) * lu(k,435)
         lu(k,437) = lu(k,437) * lu(k,435)
         lu(k,438) = lu(k,438) * lu(k,435)
         lu(k,439) = lu(k,439) * lu(k,435)
         lu(k,440) = lu(k,440) * lu(k,435)
         lu(k,441) = lu(k,441) * lu(k,435)
         lu(k,2785) = lu(k,2785) - lu(k,436) * lu(k,2768)
         lu(k,2813) = lu(k,2813) - lu(k,437) * lu(k,2768)
         lu(k,2885) = lu(k,2885) - lu(k,438) * lu(k,2768)
         lu(k,2889) = lu(k,2889) - lu(k,439) * lu(k,2768)
         lu(k,2894) = lu(k,2894) - lu(k,440) * lu(k,2768)
         lu(k,2895) = lu(k,2895) - lu(k,441) * lu(k,2768)
         lu(k,3177) = lu(k,3177) - lu(k,436) * lu(k,3154)
         lu(k,3206) = lu(k,3206) - lu(k,437) * lu(k,3154)
         lu(k,3281) = lu(k,3281) - lu(k,438) * lu(k,3154)
         lu(k,3285) = lu(k,3285) - lu(k,439) * lu(k,3154)
         lu(k,3290) = lu(k,3290) - lu(k,440) * lu(k,3154)
         lu(k,3291) = lu(k,3291) - lu(k,441) * lu(k,3154)
         lu(k,3624) = lu(k,3624) - lu(k,436) * lu(k,3588)
         lu(k,3664) = lu(k,3664) - lu(k,437) * lu(k,3588)
         lu(k,3742) = lu(k,3742) - lu(k,438) * lu(k,3588)
         lu(k,3746) = lu(k,3746) - lu(k,439) * lu(k,3588)
         lu(k,3751) = lu(k,3751) - lu(k,440) * lu(k,3588)
         lu(k,3752) = lu(k,3752) - lu(k,441) * lu(k,3588)
         lu(k,443) = 1._r8 / lu(k,443)
         lu(k,444) = lu(k,444) * lu(k,443)
         lu(k,445) = lu(k,445) * lu(k,443)
         lu(k,446) = lu(k,446) * lu(k,443)
         lu(k,447) = lu(k,447) * lu(k,443)
         lu(k,448) = lu(k,448) * lu(k,443)
         lu(k,449) = lu(k,449) * lu(k,443)
         lu(k,2813) = lu(k,2813) - lu(k,444) * lu(k,2769)
         lu(k,2853) = lu(k,2853) - lu(k,445) * lu(k,2769)
         lu(k,2885) = lu(k,2885) - lu(k,446) * lu(k,2769)
         lu(k,2889) = lu(k,2889) - lu(k,447) * lu(k,2769)
         lu(k,2894) = lu(k,2894) - lu(k,448) * lu(k,2769)
         lu(k,2895) = lu(k,2895) - lu(k,449) * lu(k,2769)
         lu(k,3206) = lu(k,3206) - lu(k,444) * lu(k,3155)
         lu(k,3249) = lu(k,3249) - lu(k,445) * lu(k,3155)
         lu(k,3281) = lu(k,3281) - lu(k,446) * lu(k,3155)
         lu(k,3285) = lu(k,3285) - lu(k,447) * lu(k,3155)
         lu(k,3290) = lu(k,3290) - lu(k,448) * lu(k,3155)
         lu(k,3291) = lu(k,3291) - lu(k,449) * lu(k,3155)
         lu(k,3664) = lu(k,3664) - lu(k,444) * lu(k,3589)
         lu(k,3711) = lu(k,3711) - lu(k,445) * lu(k,3589)
         lu(k,3742) = lu(k,3742) - lu(k,446) * lu(k,3589)
         lu(k,3746) = lu(k,3746) - lu(k,447) * lu(k,3589)
         lu(k,3751) = lu(k,3751) - lu(k,448) * lu(k,3589)
         lu(k,3752) = lu(k,3752) - lu(k,449) * lu(k,3589)
      end do
      end subroutine lu_fac09
      subroutine lu_fac10( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,450) = 1._r8 / lu(k,450)
         lu(k,451) = lu(k,451) * lu(k,450)
         lu(k,452) = lu(k,452) * lu(k,450)
         lu(k,453) = lu(k,453) * lu(k,450)
         lu(k,454) = lu(k,454) * lu(k,450)
         lu(k,635) = - lu(k,451) * lu(k,633)
         lu(k,636) = - lu(k,452) * lu(k,633)
         lu(k,639) = - lu(k,453) * lu(k,633)
         lu(k,643) = lu(k,643) - lu(k,454) * lu(k,633)
         lu(k,646) = - lu(k,451) * lu(k,644)
         lu(k,648) = - lu(k,452) * lu(k,644)
         lu(k,651) = - lu(k,453) * lu(k,644)
         lu(k,654) = lu(k,654) - lu(k,454) * lu(k,644)
         lu(k,1131) = - lu(k,451) * lu(k,1128)
         lu(k,1133) = - lu(k,452) * lu(k,1128)
         lu(k,1136) = - lu(k,453) * lu(k,1128)
         lu(k,1141) = - lu(k,454) * lu(k,1128)
         lu(k,2779) = lu(k,2779) - lu(k,451) * lu(k,2770)
         lu(k,2817) = lu(k,2817) - lu(k,452) * lu(k,2770)
         lu(k,2882) = lu(k,2882) - lu(k,453) * lu(k,2770)
         lu(k,2895) = lu(k,2895) - lu(k,454) * lu(k,2770)
         lu(k,3614) = lu(k,3614) - lu(k,451) * lu(k,3590)
         lu(k,3670) = lu(k,3670) - lu(k,452) * lu(k,3590)
         lu(k,3739) = lu(k,3739) - lu(k,453) * lu(k,3590)
         lu(k,3752) = lu(k,3752) - lu(k,454) * lu(k,3590)
         lu(k,455) = 1._r8 / lu(k,455)
         lu(k,456) = lu(k,456) * lu(k,455)
         lu(k,457) = lu(k,457) * lu(k,455)
         lu(k,458) = lu(k,458) * lu(k,455)
         lu(k,459) = lu(k,459) * lu(k,455)
         lu(k,460) = lu(k,460) * lu(k,455)
         lu(k,1513) = lu(k,1513) - lu(k,456) * lu(k,1511)
         lu(k,1515) = lu(k,1515) - lu(k,457) * lu(k,1511)
         lu(k,1517) = lu(k,1517) - lu(k,458) * lu(k,1511)
         lu(k,1520) = lu(k,1520) - lu(k,459) * lu(k,1511)
         lu(k,1522) = lu(k,1522) - lu(k,460) * lu(k,1511)
         lu(k,2938) = lu(k,2938) - lu(k,456) * lu(k,2907)
         lu(k,2985) = lu(k,2985) - lu(k,457) * lu(k,2907)
         lu(k,2987) = lu(k,2987) - lu(k,458) * lu(k,2907)
         lu(k,2994) = lu(k,2994) - lu(k,459) * lu(k,2907)
         lu(k,2996) = lu(k,2996) - lu(k,460) * lu(k,2907)
         lu(k,3447) = lu(k,3447) - lu(k,456) * lu(k,3438)
         lu(k,3451) = lu(k,3451) - lu(k,457) * lu(k,3438)
         lu(k,3453) = lu(k,3453) - lu(k,458) * lu(k,3438)
         lu(k,3460) = lu(k,3460) - lu(k,459) * lu(k,3438)
         lu(k,3462) = lu(k,3462) - lu(k,460) * lu(k,3438)
         lu(k,3692) = lu(k,3692) - lu(k,456) * lu(k,3591)
         lu(k,3741) = lu(k,3741) - lu(k,457) * lu(k,3591)
         lu(k,3743) = lu(k,3743) - lu(k,458) * lu(k,3591)
         lu(k,3750) = lu(k,3750) - lu(k,459) * lu(k,3591)
         lu(k,3752) = lu(k,3752) - lu(k,460) * lu(k,3591)
         lu(k,462) = 1._r8 / lu(k,462)
         lu(k,463) = lu(k,463) * lu(k,462)
         lu(k,464) = lu(k,464) * lu(k,462)
         lu(k,465) = lu(k,465) * lu(k,462)
         lu(k,466) = lu(k,466) * lu(k,462)
         lu(k,467) = lu(k,467) * lu(k,462)
         lu(k,2777) = lu(k,2777) - lu(k,463) * lu(k,2771)
         lu(k,2885) = lu(k,2885) - lu(k,464) * lu(k,2771)
         lu(k,2889) = lu(k,2889) - lu(k,465) * lu(k,2771)
         lu(k,2894) = lu(k,2894) - lu(k,466) * lu(k,2771)
         lu(k,2895) = lu(k,2895) - lu(k,467) * lu(k,2771)
         lu(k,3165) = lu(k,3165) - lu(k,463) * lu(k,3156)
         lu(k,3281) = lu(k,3281) - lu(k,464) * lu(k,3156)
         lu(k,3285) = lu(k,3285) - lu(k,465) * lu(k,3156)
         lu(k,3290) = lu(k,3290) - lu(k,466) * lu(k,3156)
         lu(k,3291) = lu(k,3291) - lu(k,467) * lu(k,3156)
         lu(k,3479) = lu(k,3479) - lu(k,463) * lu(k,3475)
         lu(k,3502) = lu(k,3502) - lu(k,464) * lu(k,3475)
         lu(k,3506) = lu(k,3506) - lu(k,465) * lu(k,3475)
         lu(k,3511) = lu(k,3511) - lu(k,466) * lu(k,3475)
         lu(k,3512) = lu(k,3512) - lu(k,467) * lu(k,3475)
         lu(k,3609) = lu(k,3609) - lu(k,463) * lu(k,3592)
         lu(k,3742) = lu(k,3742) - lu(k,464) * lu(k,3592)
         lu(k,3746) = lu(k,3746) - lu(k,465) * lu(k,3592)
         lu(k,3751) = lu(k,3751) - lu(k,466) * lu(k,3592)
         lu(k,3752) = lu(k,3752) - lu(k,467) * lu(k,3592)
         lu(k,468) = 1._r8 / lu(k,468)
         lu(k,469) = lu(k,469) * lu(k,468)
         lu(k,470) = lu(k,470) * lu(k,468)
         lu(k,471) = lu(k,471) * lu(k,468)
         lu(k,472) = lu(k,472) * lu(k,468)
         lu(k,473) = lu(k,473) * lu(k,468)
         lu(k,1500) = lu(k,1500) - lu(k,469) * lu(k,1495)
         lu(k,1505) = lu(k,1505) - lu(k,470) * lu(k,1495)
         lu(k,1506) = lu(k,1506) - lu(k,471) * lu(k,1495)
         lu(k,1508) = lu(k,1508) - lu(k,472) * lu(k,1495)
         lu(k,1509) = - lu(k,473) * lu(k,1495)
         lu(k,2699) = lu(k,2699) - lu(k,469) * lu(k,2644)
         lu(k,2706) = lu(k,2706) - lu(k,470) * lu(k,2644)
         lu(k,2707) = lu(k,2707) - lu(k,471) * lu(k,2644)
         lu(k,2710) = lu(k,2710) - lu(k,472) * lu(k,2644)
         lu(k,2713) = - lu(k,473) * lu(k,2644)
         lu(k,3278) = lu(k,3278) - lu(k,469) * lu(k,3157)
         lu(k,3287) = lu(k,3287) - lu(k,470) * lu(k,3157)
         lu(k,3288) = lu(k,3288) - lu(k,471) * lu(k,3157)
         lu(k,3291) = lu(k,3291) - lu(k,472) * lu(k,3157)
         lu(k,3295) = lu(k,3295) - lu(k,473) * lu(k,3157)
         lu(k,3739) = lu(k,3739) - lu(k,469) * lu(k,3593)
         lu(k,3748) = lu(k,3748) - lu(k,470) * lu(k,3593)
         lu(k,3749) = lu(k,3749) - lu(k,471) * lu(k,3593)
         lu(k,3752) = lu(k,3752) - lu(k,472) * lu(k,3593)
         lu(k,3756) = lu(k,3756) - lu(k,473) * lu(k,3593)
         lu(k,474) = 1._r8 / lu(k,474)
         lu(k,475) = lu(k,475) * lu(k,474)
         lu(k,476) = lu(k,476) * lu(k,474)
         lu(k,477) = lu(k,477) * lu(k,474)
         lu(k,478) = lu(k,478) * lu(k,474)
         lu(k,479) = lu(k,479) * lu(k,474)
         lu(k,480) = lu(k,480) * lu(k,474)
         lu(k,481) = lu(k,481) * lu(k,474)
         lu(k,1714) = - lu(k,475) * lu(k,1712)
         lu(k,1715) = - lu(k,476) * lu(k,1712)
         lu(k,1730) = lu(k,1730) - lu(k,477) * lu(k,1712)
         lu(k,1740) = lu(k,1740) - lu(k,478) * lu(k,1712)
         lu(k,1741) = lu(k,1741) - lu(k,479) * lu(k,1712)
         lu(k,1743) = lu(k,1743) - lu(k,480) * lu(k,1712)
         lu(k,1744) = lu(k,1744) - lu(k,481) * lu(k,1712)
         lu(k,2789) = - lu(k,475) * lu(k,2772)
         lu(k,2801) = lu(k,2801) - lu(k,476) * lu(k,2772)
         lu(k,2849) = lu(k,2849) - lu(k,477) * lu(k,2772)
         lu(k,2889) = lu(k,2889) - lu(k,478) * lu(k,2772)
         lu(k,2891) = lu(k,2891) - lu(k,479) * lu(k,2772)
         lu(k,2894) = lu(k,2894) - lu(k,480) * lu(k,2772)
         lu(k,2895) = lu(k,2895) - lu(k,481) * lu(k,2772)
         lu(k,3629) = lu(k,3629) - lu(k,475) * lu(k,3594)
         lu(k,3645) = lu(k,3645) - lu(k,476) * lu(k,3594)
         lu(k,3707) = lu(k,3707) - lu(k,477) * lu(k,3594)
         lu(k,3746) = lu(k,3746) - lu(k,478) * lu(k,3594)
         lu(k,3748) = lu(k,3748) - lu(k,479) * lu(k,3594)
         lu(k,3751) = lu(k,3751) - lu(k,480) * lu(k,3594)
         lu(k,3752) = lu(k,3752) - lu(k,481) * lu(k,3594)
         lu(k,482) = 1._r8 / lu(k,482)
         lu(k,483) = lu(k,483) * lu(k,482)
         lu(k,484) = lu(k,484) * lu(k,482)
         lu(k,485) = lu(k,485) * lu(k,482)
         lu(k,486) = lu(k,486) * lu(k,482)
         lu(k,487) = lu(k,487) * lu(k,482)
         lu(k,488) = lu(k,488) * lu(k,482)
         lu(k,489) = lu(k,489) * lu(k,482)
         lu(k,822) = lu(k,822) - lu(k,483) * lu(k,821)
         lu(k,823) = lu(k,823) - lu(k,484) * lu(k,821)
         lu(k,824) = - lu(k,485) * lu(k,821)
         lu(k,826) = lu(k,826) - lu(k,486) * lu(k,821)
         lu(k,827) = lu(k,827) - lu(k,487) * lu(k,821)
         lu(k,829) = - lu(k,488) * lu(k,821)
         lu(k,830) = - lu(k,489) * lu(k,821)
         lu(k,3183) = lu(k,3183) - lu(k,483) * lu(k,3158)
         lu(k,3213) = lu(k,3213) - lu(k,484) * lu(k,3158)
         lu(k,3237) = lu(k,3237) - lu(k,485) * lu(k,3158)
         lu(k,3285) = lu(k,3285) - lu(k,486) * lu(k,3158)
         lu(k,3287) = lu(k,3287) - lu(k,487) * lu(k,3158)
         lu(k,3291) = lu(k,3291) - lu(k,488) * lu(k,3158)
         lu(k,3295) = lu(k,3295) - lu(k,489) * lu(k,3158)
         lu(k,3632) = lu(k,3632) - lu(k,483) * lu(k,3595)
         lu(k,3674) = lu(k,3674) - lu(k,484) * lu(k,3595)
         lu(k,3699) = lu(k,3699) - lu(k,485) * lu(k,3595)
         lu(k,3746) = lu(k,3746) - lu(k,486) * lu(k,3595)
         lu(k,3748) = lu(k,3748) - lu(k,487) * lu(k,3595)
         lu(k,3752) = lu(k,3752) - lu(k,488) * lu(k,3595)
         lu(k,3756) = lu(k,3756) - lu(k,489) * lu(k,3595)
      end do
      end subroutine lu_fac10
      subroutine lu_fac11( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,490) = 1._r8 / lu(k,490)
         lu(k,491) = lu(k,491) * lu(k,490)
         lu(k,492) = lu(k,492) * lu(k,490)
         lu(k,493) = lu(k,493) * lu(k,490)
         lu(k,494) = lu(k,494) * lu(k,490)
         lu(k,495) = lu(k,495) * lu(k,490)
         lu(k,496) = lu(k,496) * lu(k,490)
         lu(k,497) = lu(k,497) * lu(k,490)
         lu(k,3440) = lu(k,3440) - lu(k,491) * lu(k,3439)
         lu(k,3449) = lu(k,3449) - lu(k,492) * lu(k,3439)
         lu(k,3450) = - lu(k,493) * lu(k,3439)
         lu(k,3454) = lu(k,3454) - lu(k,494) * lu(k,3439)
         lu(k,3460) = lu(k,3460) - lu(k,495) * lu(k,3439)
         lu(k,3461) = lu(k,3461) - lu(k,496) * lu(k,3439)
         lu(k,3464) = lu(k,3464) - lu(k,497) * lu(k,3439)
         lu(k,3483) = - lu(k,491) * lu(k,3476)
         lu(k,3492) = - lu(k,492) * lu(k,3476)
         lu(k,3500) = lu(k,3500) - lu(k,493) * lu(k,3476)
         lu(k,3504) = lu(k,3504) - lu(k,494) * lu(k,3476)
         lu(k,3510) = lu(k,3510) - lu(k,495) * lu(k,3476)
         lu(k,3511) = lu(k,3511) - lu(k,496) * lu(k,3476)
         lu(k,3514) = lu(k,3514) - lu(k,497) * lu(k,3476)
         lu(k,3782) = lu(k,3782) - lu(k,491) * lu(k,3781)
         lu(k,3785) = lu(k,3785) - lu(k,492) * lu(k,3781)
         lu(k,3786) = - lu(k,493) * lu(k,3781)
         lu(k,3790) = - lu(k,494) * lu(k,3781)
         lu(k,3796) = lu(k,3796) - lu(k,495) * lu(k,3781)
         lu(k,3797) = lu(k,3797) - lu(k,496) * lu(k,3781)
         lu(k,3800) = lu(k,3800) - lu(k,497) * lu(k,3781)
         lu(k,498) = 1._r8 / lu(k,498)
         lu(k,499) = lu(k,499) * lu(k,498)
         lu(k,500) = lu(k,500) * lu(k,498)
         lu(k,501) = lu(k,501) * lu(k,498)
         lu(k,502) = lu(k,502) * lu(k,498)
         lu(k,503) = lu(k,503) * lu(k,498)
         lu(k,504) = lu(k,504) * lu(k,498)
         lu(k,505) = lu(k,505) * lu(k,498)
         lu(k,2914) = - lu(k,499) * lu(k,2908)
         lu(k,2922) = lu(k,2922) - lu(k,500) * lu(k,2908)
         lu(k,2940) = lu(k,2940) - lu(k,501) * lu(k,2908)
         lu(k,2987) = lu(k,2987) - lu(k,502) * lu(k,2908)
         lu(k,2990) = lu(k,2990) - lu(k,503) * lu(k,2908)
         lu(k,2992) = lu(k,2992) - lu(k,504) * lu(k,2908)
         lu(k,2996) = lu(k,2996) - lu(k,505) * lu(k,2908)
         lu(k,3623) = lu(k,3623) - lu(k,499) * lu(k,3596)
         lu(k,3658) = lu(k,3658) - lu(k,500) * lu(k,3596)
         lu(k,3694) = lu(k,3694) - lu(k,501) * lu(k,3596)
         lu(k,3743) = lu(k,3743) - lu(k,502) * lu(k,3596)
         lu(k,3746) = lu(k,3746) - lu(k,503) * lu(k,3596)
         lu(k,3748) = lu(k,3748) - lu(k,504) * lu(k,3596)
         lu(k,3752) = lu(k,3752) - lu(k,505) * lu(k,3596)
         lu(k,3807) = - lu(k,499) * lu(k,3806)
         lu(k,3809) = lu(k,3809) - lu(k,500) * lu(k,3806)
         lu(k,3818) = lu(k,3818) - lu(k,501) * lu(k,3806)
         lu(k,3824) = lu(k,3824) - lu(k,502) * lu(k,3806)
         lu(k,3827) = lu(k,3827) - lu(k,503) * lu(k,3806)
         lu(k,3829) = lu(k,3829) - lu(k,504) * lu(k,3806)
         lu(k,3833) = lu(k,3833) - lu(k,505) * lu(k,3806)
         lu(k,506) = 1._r8 / lu(k,506)
         lu(k,507) = lu(k,507) * lu(k,506)
         lu(k,508) = lu(k,508) * lu(k,506)
         lu(k,509) = lu(k,509) * lu(k,506)
         lu(k,510) = lu(k,510) * lu(k,506)
         lu(k,511) = lu(k,511) * lu(k,506)
         lu(k,512) = lu(k,512) * lu(k,506)
         lu(k,513) = lu(k,513) * lu(k,506)
         lu(k,2509) = lu(k,2509) - lu(k,507) * lu(k,2505)
         lu(k,2517) = lu(k,2517) - lu(k,508) * lu(k,2505)
         lu(k,2532) = lu(k,2532) - lu(k,509) * lu(k,2505)
         lu(k,2541) = lu(k,2541) - lu(k,510) * lu(k,2505)
         lu(k,2542) = lu(k,2542) - lu(k,511) * lu(k,2505)
         lu(k,2545) = lu(k,2545) - lu(k,512) * lu(k,2505)
         lu(k,2546) = lu(k,2546) - lu(k,513) * lu(k,2505)
         lu(k,3490) = lu(k,3490) - lu(k,507) * lu(k,3477)
         lu(k,3494) = - lu(k,508) * lu(k,3477)
         lu(k,3496) = lu(k,3496) - lu(k,509) * lu(k,3477)
         lu(k,3506) = lu(k,3506) - lu(k,510) * lu(k,3477)
         lu(k,3508) = lu(k,3508) - lu(k,511) * lu(k,3477)
         lu(k,3511) = lu(k,3511) - lu(k,512) * lu(k,3477)
         lu(k,3512) = lu(k,3512) - lu(k,513) * lu(k,3477)
         lu(k,3694) = lu(k,3694) - lu(k,507) * lu(k,3597)
         lu(k,3721) = lu(k,3721) - lu(k,508) * lu(k,3597)
         lu(k,3736) = lu(k,3736) - lu(k,509) * lu(k,3597)
         lu(k,3746) = lu(k,3746) - lu(k,510) * lu(k,3597)
         lu(k,3748) = lu(k,3748) - lu(k,511) * lu(k,3597)
         lu(k,3751) = lu(k,3751) - lu(k,512) * lu(k,3597)
         lu(k,3752) = lu(k,3752) - lu(k,513) * lu(k,3597)
         lu(k,514) = 1._r8 / lu(k,514)
         lu(k,515) = lu(k,515) * lu(k,514)
         lu(k,516) = lu(k,516) * lu(k,514)
         lu(k,517) = lu(k,517) * lu(k,514)
         lu(k,518) = lu(k,518) * lu(k,514)
         lu(k,519) = lu(k,519) * lu(k,514)
         lu(k,520) = lu(k,520) * lu(k,514)
         lu(k,521) = lu(k,521) * lu(k,514)
         lu(k,2555) = lu(k,2555) - lu(k,515) * lu(k,2551)
         lu(k,2579) = lu(k,2579) - lu(k,516) * lu(k,2551)
         lu(k,2581) = lu(k,2581) - lu(k,517) * lu(k,2551)
         lu(k,2587) = lu(k,2587) - lu(k,518) * lu(k,2551)
         lu(k,2588) = lu(k,2588) - lu(k,519) * lu(k,2551)
         lu(k,2591) = lu(k,2591) - lu(k,520) * lu(k,2551)
         lu(k,2592) = lu(k,2592) - lu(k,521) * lu(k,2551)
         lu(k,3490) = lu(k,3490) - lu(k,515) * lu(k,3478)
         lu(k,3497) = lu(k,3497) - lu(k,516) * lu(k,3478)
         lu(k,3499) = lu(k,3499) - lu(k,517) * lu(k,3478)
         lu(k,3506) = lu(k,3506) - lu(k,518) * lu(k,3478)
         lu(k,3508) = lu(k,3508) - lu(k,519) * lu(k,3478)
         lu(k,3511) = lu(k,3511) - lu(k,520) * lu(k,3478)
         lu(k,3512) = lu(k,3512) - lu(k,521) * lu(k,3478)
         lu(k,3694) = lu(k,3694) - lu(k,515) * lu(k,3598)
         lu(k,3737) = lu(k,3737) - lu(k,516) * lu(k,3598)
         lu(k,3739) = lu(k,3739) - lu(k,517) * lu(k,3598)
         lu(k,3746) = lu(k,3746) - lu(k,518) * lu(k,3598)
         lu(k,3748) = lu(k,3748) - lu(k,519) * lu(k,3598)
         lu(k,3751) = lu(k,3751) - lu(k,520) * lu(k,3598)
         lu(k,3752) = lu(k,3752) - lu(k,521) * lu(k,3598)
         lu(k,522) = 1._r8 / lu(k,522)
         lu(k,523) = lu(k,523) * lu(k,522)
         lu(k,524) = lu(k,524) * lu(k,522)
         lu(k,525) = lu(k,525) * lu(k,522)
         lu(k,864) = - lu(k,523) * lu(k,858)
         lu(k,865) = - lu(k,524) * lu(k,858)
         lu(k,870) = lu(k,870) - lu(k,525) * lu(k,858)
         lu(k,966) = - lu(k,523) * lu(k,960)
         lu(k,968) = - lu(k,524) * lu(k,960)
         lu(k,973) = lu(k,973) - lu(k,525) * lu(k,960)
         lu(k,1109) = - lu(k,523) * lu(k,1101)
         lu(k,1112) = - lu(k,524) * lu(k,1101)
         lu(k,1117) = lu(k,1117) - lu(k,525) * lu(k,1101)
         lu(k,2622) = lu(k,2622) - lu(k,523) * lu(k,2597)
         lu(k,2627) = lu(k,2627) - lu(k,524) * lu(k,2597)
         lu(k,2639) = lu(k,2639) - lu(k,525) * lu(k,2597)
         lu(k,2977) = - lu(k,523) * lu(k,2909)
         lu(k,2982) = - lu(k,524) * lu(k,2909)
         lu(k,2996) = lu(k,2996) - lu(k,525) * lu(k,2909)
         lu(k,3272) = lu(k,3272) - lu(k,523) * lu(k,3159)
         lu(k,3277) = lu(k,3277) - lu(k,524) * lu(k,3159)
         lu(k,3291) = lu(k,3291) - lu(k,525) * lu(k,3159)
         lu(k,3733) = lu(k,3733) - lu(k,523) * lu(k,3599)
         lu(k,3738) = lu(k,3738) - lu(k,524) * lu(k,3599)
         lu(k,3752) = lu(k,3752) - lu(k,525) * lu(k,3599)
      end do
      end subroutine lu_fac11
      subroutine lu_fac12( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,526) = 1._r8 / lu(k,526)
         lu(k,527) = lu(k,527) * lu(k,526)
         lu(k,528) = lu(k,528) * lu(k,526)
         lu(k,529) = lu(k,529) * lu(k,526)
         lu(k,682) = lu(k,682) - lu(k,527) * lu(k,679)
         lu(k,684) = lu(k,684) - lu(k,528) * lu(k,679)
         lu(k,687) = lu(k,687) - lu(k,529) * lu(k,679)
         lu(k,836) = - lu(k,527) * lu(k,832)
         lu(k,839) = lu(k,839) - lu(k,528) * lu(k,832)
         lu(k,842) = lu(k,842) - lu(k,529) * lu(k,832)
         lu(k,2071) = - lu(k,527) * lu(k,2069)
         lu(k,2086) = lu(k,2086) - lu(k,528) * lu(k,2069)
         lu(k,2090) = lu(k,2090) - lu(k,529) * lu(k,2069)
         lu(k,2464) = - lu(k,527) * lu(k,2461)
         lu(k,2477) = lu(k,2477) - lu(k,528) * lu(k,2461)
         lu(k,2481) = lu(k,2481) - lu(k,529) * lu(k,2461)
         lu(k,2844) = lu(k,2844) - lu(k,527) * lu(k,2773)
         lu(k,2889) = lu(k,2889) - lu(k,528) * lu(k,2773)
         lu(k,2895) = lu(k,2895) - lu(k,529) * lu(k,2773)
         lu(k,3240) = lu(k,3240) - lu(k,527) * lu(k,3160)
         lu(k,3285) = lu(k,3285) - lu(k,528) * lu(k,3160)
         lu(k,3291) = lu(k,3291) - lu(k,529) * lu(k,3160)
         lu(k,3702) = lu(k,3702) - lu(k,527) * lu(k,3600)
         lu(k,3746) = lu(k,3746) - lu(k,528) * lu(k,3600)
         lu(k,3752) = lu(k,3752) - lu(k,529) * lu(k,3600)
         lu(k,530) = 1._r8 / lu(k,530)
         lu(k,531) = lu(k,531) * lu(k,530)
         lu(k,532) = lu(k,532) * lu(k,530)
         lu(k,533) = lu(k,533) * lu(k,530)
         lu(k,1207) = lu(k,1207) - lu(k,531) * lu(k,1194)
         lu(k,1209) = lu(k,1209) - lu(k,532) * lu(k,1194)
         lu(k,1210) = - lu(k,533) * lu(k,1194)
         lu(k,1506) = lu(k,1506) - lu(k,531) * lu(k,1496)
         lu(k,1508) = lu(k,1508) - lu(k,532) * lu(k,1496)
         lu(k,1509) = lu(k,1509) - lu(k,533) * lu(k,1496)
         lu(k,2707) = lu(k,2707) - lu(k,531) * lu(k,2645)
         lu(k,2710) = lu(k,2710) - lu(k,532) * lu(k,2645)
         lu(k,2713) = lu(k,2713) - lu(k,533) * lu(k,2645)
         lu(k,2993) = lu(k,2993) - lu(k,531) * lu(k,2910)
         lu(k,2996) = lu(k,2996) - lu(k,532) * lu(k,2910)
         lu(k,3000) = - lu(k,533) * lu(k,2910)
         lu(k,3288) = lu(k,3288) - lu(k,531) * lu(k,3161)
         lu(k,3291) = lu(k,3291) - lu(k,532) * lu(k,3161)
         lu(k,3295) = lu(k,3295) - lu(k,533) * lu(k,3161)
         lu(k,3429) = lu(k,3429) - lu(k,531) * lu(k,3349)
         lu(k,3432) = lu(k,3432) - lu(k,532) * lu(k,3349)
         lu(k,3436) = lu(k,3436) - lu(k,533) * lu(k,3349)
         lu(k,3749) = lu(k,3749) - lu(k,531) * lu(k,3601)
         lu(k,3752) = lu(k,3752) - lu(k,532) * lu(k,3601)
         lu(k,3756) = lu(k,3756) - lu(k,533) * lu(k,3601)
         lu(k,534) = 1._r8 / lu(k,534)
         lu(k,535) = lu(k,535) * lu(k,534)
         lu(k,536) = lu(k,536) * lu(k,534)
         lu(k,537) = lu(k,537) * lu(k,534)
         lu(k,538) = lu(k,538) * lu(k,534)
         lu(k,539) = lu(k,539) * lu(k,534)
         lu(k,540) = lu(k,540) * lu(k,534)
         lu(k,541) = lu(k,541) * lu(k,534)
         lu(k,2796) = lu(k,2796) - lu(k,535) * lu(k,2774)
         lu(k,2820) = lu(k,2820) - lu(k,536) * lu(k,2774)
         lu(k,2864) = lu(k,2864) - lu(k,537) * lu(k,2774)
         lu(k,2885) = lu(k,2885) - lu(k,538) * lu(k,2774)
         lu(k,2889) = lu(k,2889) - lu(k,539) * lu(k,2774)
         lu(k,2891) = lu(k,2891) - lu(k,540) * lu(k,2774)
         lu(k,2894) = lu(k,2894) - lu(k,541) * lu(k,2774)
         lu(k,3009) = - lu(k,535) * lu(k,3006)
         lu(k,3022) = lu(k,3022) - lu(k,536) * lu(k,3006)
         lu(k,3057) = lu(k,3057) - lu(k,537) * lu(k,3006)
         lu(k,3078) = lu(k,3078) - lu(k,538) * lu(k,3006)
         lu(k,3082) = lu(k,3082) - lu(k,539) * lu(k,3006)
         lu(k,3084) = lu(k,3084) - lu(k,540) * lu(k,3006)
         lu(k,3087) = lu(k,3087) - lu(k,541) * lu(k,3006)
         lu(k,3637) = lu(k,3637) - lu(k,535) * lu(k,3602)
         lu(k,3674) = lu(k,3674) - lu(k,536) * lu(k,3602)
         lu(k,3721) = lu(k,3721) - lu(k,537) * lu(k,3602)
         lu(k,3742) = lu(k,3742) - lu(k,538) * lu(k,3602)
         lu(k,3746) = lu(k,3746) - lu(k,539) * lu(k,3602)
         lu(k,3748) = lu(k,3748) - lu(k,540) * lu(k,3602)
         lu(k,3751) = lu(k,3751) - lu(k,541) * lu(k,3602)
         lu(k,542) = 1._r8 / lu(k,542)
         lu(k,543) = lu(k,543) * lu(k,542)
         lu(k,544) = lu(k,544) * lu(k,542)
         lu(k,545) = lu(k,545) * lu(k,542)
         lu(k,546) = lu(k,546) * lu(k,542)
         lu(k,547) = lu(k,547) * lu(k,542)
         lu(k,548) = lu(k,548) * lu(k,542)
         lu(k,549) = lu(k,549) * lu(k,542)
         lu(k,550) = lu(k,550) * lu(k,542)
         lu(k,551) = lu(k,551) * lu(k,542)
         lu(k,552) = lu(k,552) * lu(k,542)
         lu(k,553) = lu(k,553) * lu(k,542)
         lu(k,1768) = lu(k,1768) - lu(k,543) * lu(k,1767)
         lu(k,1771) = - lu(k,544) * lu(k,1767)
         lu(k,1772) = lu(k,1772) - lu(k,545) * lu(k,1767)
         lu(k,1775) = - lu(k,546) * lu(k,1767)
         lu(k,1777) = lu(k,1777) - lu(k,547) * lu(k,1767)
         lu(k,1783) = - lu(k,548) * lu(k,1767)
         lu(k,1784) = lu(k,1784) - lu(k,549) * lu(k,1767)
         lu(k,1787) = lu(k,1787) - lu(k,550) * lu(k,1767)
         lu(k,1790) = lu(k,1790) - lu(k,551) * lu(k,1767)
         lu(k,1792) = lu(k,1792) - lu(k,552) * lu(k,1767)
         lu(k,1794) = lu(k,1794) - lu(k,553) * lu(k,1767)
         lu(k,3605) = lu(k,3605) - lu(k,543) * lu(k,3603)
         lu(k,3658) = lu(k,3658) - lu(k,544) * lu(k,3603)
         lu(k,3669) = lu(k,3669) - lu(k,545) * lu(k,3603)
         lu(k,3682) = lu(k,3682) - lu(k,546) * lu(k,3603)
         lu(k,3694) = lu(k,3694) - lu(k,547) * lu(k,3603)
         lu(k,3711) = lu(k,3711) - lu(k,548) * lu(k,3603)
         lu(k,3712) = lu(k,3712) - lu(k,549) * lu(k,3603)
         lu(k,3739) = lu(k,3739) - lu(k,550) * lu(k,3603)
         lu(k,3746) = lu(k,3746) - lu(k,551) * lu(k,3603)
         lu(k,3749) = lu(k,3749) - lu(k,552) * lu(k,3603)
         lu(k,3752) = lu(k,3752) - lu(k,553) * lu(k,3603)
         lu(k,554) = 1._r8 / lu(k,554)
         lu(k,555) = lu(k,555) * lu(k,554)
         lu(k,556) = lu(k,556) * lu(k,554)
         lu(k,557) = lu(k,557) * lu(k,554)
         lu(k,558) = lu(k,558) * lu(k,554)
         lu(k,559) = lu(k,559) * lu(k,554)
         lu(k,560) = lu(k,560) * lu(k,554)
         lu(k,561) = lu(k,561) * lu(k,554)
         lu(k,562) = lu(k,562) * lu(k,554)
         lu(k,563) = lu(k,563) * lu(k,554)
         lu(k,564) = lu(k,564) * lu(k,554)
         lu(k,565) = lu(k,565) * lu(k,554)
         lu(k,1656) = lu(k,1656) - lu(k,555) * lu(k,1655)
         lu(k,1658) = - lu(k,556) * lu(k,1655)
         lu(k,1659) = lu(k,1659) - lu(k,557) * lu(k,1655)
         lu(k,1662) = - lu(k,558) * lu(k,1655)
         lu(k,1664) = lu(k,1664) - lu(k,559) * lu(k,1655)
         lu(k,1670) = lu(k,1670) - lu(k,560) * lu(k,1655)
         lu(k,1671) = - lu(k,561) * lu(k,1655)
         lu(k,1675) = lu(k,1675) - lu(k,562) * lu(k,1655)
         lu(k,1678) = lu(k,1678) - lu(k,563) * lu(k,1655)
         lu(k,1680) = lu(k,1680) - lu(k,564) * lu(k,1655)
         lu(k,1682) = lu(k,1682) - lu(k,565) * lu(k,1655)
         lu(k,3605) = lu(k,3605) - lu(k,555) * lu(k,3604)
         lu(k,3630) = lu(k,3630) - lu(k,556) * lu(k,3604)
         lu(k,3669) = lu(k,3669) - lu(k,557) * lu(k,3604)
         lu(k,3683) = lu(k,3683) - lu(k,558) * lu(k,3604)
         lu(k,3694) = lu(k,3694) - lu(k,559) * lu(k,3604)
         lu(k,3707) = lu(k,3707) - lu(k,560) * lu(k,3604)
         lu(k,3711) = lu(k,3711) - lu(k,561) * lu(k,3604)
         lu(k,3739) = lu(k,3739) - lu(k,562) * lu(k,3604)
         lu(k,3746) = lu(k,3746) - lu(k,563) * lu(k,3604)
         lu(k,3749) = lu(k,3749) - lu(k,564) * lu(k,3604)
         lu(k,3752) = lu(k,3752) - lu(k,565) * lu(k,3604)
      end do
      end subroutine lu_fac12
      subroutine lu_fac13( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,566) = 1._r8 / lu(k,566)
         lu(k,567) = lu(k,567) * lu(k,566)
         lu(k,568) = lu(k,568) * lu(k,566)
         lu(k,569) = lu(k,569) * lu(k,566)
         lu(k,570) = lu(k,570) * lu(k,566)
         lu(k,571) = lu(k,571) * lu(k,566)
         lu(k,572) = lu(k,572) * lu(k,566)
         lu(k,1658) = lu(k,1658) - lu(k,567) * lu(k,1656)
         lu(k,1664) = lu(k,1664) - lu(k,568) * lu(k,1656)
         lu(k,1671) = lu(k,1671) - lu(k,569) * lu(k,1656)
         lu(k,1678) = lu(k,1678) - lu(k,570) * lu(k,1656)
         lu(k,1679) = lu(k,1679) - lu(k,571) * lu(k,1656)
         lu(k,1682) = lu(k,1682) - lu(k,572) * lu(k,1656)
         lu(k,1770) = - lu(k,567) * lu(k,1768)
         lu(k,1777) = lu(k,1777) - lu(k,568) * lu(k,1768)
         lu(k,1783) = lu(k,1783) - lu(k,569) * lu(k,1768)
         lu(k,1790) = lu(k,1790) - lu(k,570) * lu(k,1768)
         lu(k,1791) = lu(k,1791) - lu(k,571) * lu(k,1768)
         lu(k,1794) = lu(k,1794) - lu(k,572) * lu(k,1768)
         lu(k,3630) = lu(k,3630) - lu(k,567) * lu(k,3605)
         lu(k,3694) = lu(k,3694) - lu(k,568) * lu(k,3605)
         lu(k,3711) = lu(k,3711) - lu(k,569) * lu(k,3605)
         lu(k,3746) = lu(k,3746) - lu(k,570) * lu(k,3605)
         lu(k,3748) = lu(k,3748) - lu(k,571) * lu(k,3605)
         lu(k,3752) = lu(k,3752) - lu(k,572) * lu(k,3605)
         lu(k,573) = 1._r8 / lu(k,573)
         lu(k,574) = lu(k,574) * lu(k,573)
         lu(k,575) = lu(k,575) * lu(k,573)
         lu(k,576) = lu(k,576) * lu(k,573)
         lu(k,577) = lu(k,577) * lu(k,573)
         lu(k,578) = lu(k,578) * lu(k,573)
         lu(k,579) = lu(k,579) * lu(k,573)
         lu(k,580) = lu(k,580) * lu(k,573)
         lu(k,581) = lu(k,581) * lu(k,573)
         lu(k,1814) = - lu(k,574) * lu(k,1812)
         lu(k,1815) = - lu(k,575) * lu(k,1812)
         lu(k,1831) = lu(k,1831) - lu(k,576) * lu(k,1812)
         lu(k,1835) = - lu(k,577) * lu(k,1812)
         lu(k,1838) = lu(k,1838) - lu(k,578) * lu(k,1812)
         lu(k,1839) = lu(k,1839) - lu(k,579) * lu(k,1812)
         lu(k,1841) = lu(k,1841) - lu(k,580) * lu(k,1812)
         lu(k,1842) = lu(k,1842) - lu(k,581) * lu(k,1812)
         lu(k,2789) = lu(k,2789) - lu(k,574) * lu(k,2775)
         lu(k,2807) = lu(k,2807) - lu(k,575) * lu(k,2775)
         lu(k,2854) = lu(k,2854) - lu(k,576) * lu(k,2775)
         lu(k,2883) = - lu(k,577) * lu(k,2775)
         lu(k,2889) = lu(k,2889) - lu(k,578) * lu(k,2775)
         lu(k,2891) = lu(k,2891) - lu(k,579) * lu(k,2775)
         lu(k,2894) = lu(k,2894) - lu(k,580) * lu(k,2775)
         lu(k,2895) = lu(k,2895) - lu(k,581) * lu(k,2775)
         lu(k,3629) = lu(k,3629) - lu(k,574) * lu(k,3606)
         lu(k,3654) = lu(k,3654) - lu(k,575) * lu(k,3606)
         lu(k,3712) = lu(k,3712) - lu(k,576) * lu(k,3606)
         lu(k,3740) = lu(k,3740) - lu(k,577) * lu(k,3606)
         lu(k,3746) = lu(k,3746) - lu(k,578) * lu(k,3606)
         lu(k,3748) = lu(k,3748) - lu(k,579) * lu(k,3606)
         lu(k,3751) = lu(k,3751) - lu(k,580) * lu(k,3606)
         lu(k,3752) = lu(k,3752) - lu(k,581) * lu(k,3606)
         lu(k,582) = 1._r8 / lu(k,582)
         lu(k,583) = lu(k,583) * lu(k,582)
         lu(k,584) = lu(k,584) * lu(k,582)
         lu(k,585) = lu(k,585) * lu(k,582)
         lu(k,586) = lu(k,586) * lu(k,582)
         lu(k,587) = lu(k,587) * lu(k,582)
         lu(k,588) = lu(k,588) * lu(k,582)
         lu(k,2295) = - lu(k,583) * lu(k,2291)
         lu(k,2300) = lu(k,2300) - lu(k,584) * lu(k,2291)
         lu(k,2305) = lu(k,2305) - lu(k,585) * lu(k,2291)
         lu(k,2317) = lu(k,2317) - lu(k,586) * lu(k,2291)
         lu(k,2320) = lu(k,2320) - lu(k,587) * lu(k,2291)
         lu(k,2321) = lu(k,2321) - lu(k,588) * lu(k,2291)
         lu(k,2354) = - lu(k,583) * lu(k,2350)
         lu(k,2359) = lu(k,2359) - lu(k,584) * lu(k,2350)
         lu(k,2366) = - lu(k,585) * lu(k,2350)
         lu(k,2378) = lu(k,2378) - lu(k,586) * lu(k,2350)
         lu(k,2381) = lu(k,2381) - lu(k,587) * lu(k,2350)
         lu(k,2382) = lu(k,2382) - lu(k,588) * lu(k,2350)
         lu(k,3204) = lu(k,3204) - lu(k,583) * lu(k,3162)
         lu(k,3235) = lu(k,3235) - lu(k,584) * lu(k,3162)
         lu(k,3271) = lu(k,3271) - lu(k,585) * lu(k,3162)
         lu(k,3285) = lu(k,3285) - lu(k,586) * lu(k,3162)
         lu(k,3290) = lu(k,3290) - lu(k,587) * lu(k,3162)
         lu(k,3291) = lu(k,3291) - lu(k,588) * lu(k,3162)
         lu(k,3660) = lu(k,3660) - lu(k,583) * lu(k,3607)
         lu(k,3697) = lu(k,3697) - lu(k,584) * lu(k,3607)
         lu(k,3732) = lu(k,3732) - lu(k,585) * lu(k,3607)
         lu(k,3746) = lu(k,3746) - lu(k,586) * lu(k,3607)
         lu(k,3751) = lu(k,3751) - lu(k,587) * lu(k,3607)
         lu(k,3752) = lu(k,3752) - lu(k,588) * lu(k,3607)
         lu(k,589) = 1._r8 / lu(k,589)
         lu(k,590) = lu(k,590) * lu(k,589)
         lu(k,591) = lu(k,591) * lu(k,589)
         lu(k,592) = lu(k,592) * lu(k,589)
         lu(k,837) = - lu(k,590) * lu(k,833)
         lu(k,839) = lu(k,839) - lu(k,591) * lu(k,833)
         lu(k,842) = lu(k,842) - lu(k,592) * lu(k,833)
         lu(k,920) = - lu(k,590) * lu(k,915)
         lu(k,922) = lu(k,922) - lu(k,591) * lu(k,915)
         lu(k,924) = lu(k,924) - lu(k,592) * lu(k,915)
         lu(k,2213) = lu(k,2213) - lu(k,590) * lu(k,2202)
         lu(k,2227) = lu(k,2227) - lu(k,591) * lu(k,2202)
         lu(k,2231) = lu(k,2231) - lu(k,592) * lu(k,2202)
         lu(k,2242) = - lu(k,590) * lu(k,2233)
         lu(k,2256) = lu(k,2256) - lu(k,591) * lu(k,2233)
         lu(k,2260) = lu(k,2260) - lu(k,592) * lu(k,2233)
         lu(k,2444) = - lu(k,590) * lu(k,2439)
         lu(k,2456) = lu(k,2456) - lu(k,591) * lu(k,2439)
         lu(k,2460) = - lu(k,592) * lu(k,2439)
         lu(k,2486) = - lu(k,590) * lu(k,2482)
         lu(k,2498) = lu(k,2498) - lu(k,591) * lu(k,2482)
         lu(k,2502) = lu(k,2502) - lu(k,592) * lu(k,2482)
         lu(k,3263) = lu(k,3263) - lu(k,590) * lu(k,3163)
         lu(k,3285) = lu(k,3285) - lu(k,591) * lu(k,3163)
         lu(k,3291) = lu(k,3291) - lu(k,592) * lu(k,3163)
         lu(k,3724) = lu(k,3724) - lu(k,590) * lu(k,3608)
         lu(k,3746) = lu(k,3746) - lu(k,591) * lu(k,3608)
         lu(k,3752) = lu(k,3752) - lu(k,592) * lu(k,3608)
         lu(k,593) = 1._r8 / lu(k,593)
         lu(k,594) = lu(k,594) * lu(k,593)
         lu(k,595) = lu(k,595) * lu(k,593)
         lu(k,596) = lu(k,596) * lu(k,593)
         lu(k,597) = lu(k,597) * lu(k,593)
         lu(k,598) = lu(k,598) * lu(k,593)
         lu(k,599) = lu(k,599) * lu(k,593)
         lu(k,600) = lu(k,600) * lu(k,593)
         lu(k,601) = lu(k,601) * lu(k,593)
         lu(k,2808) = - lu(k,594) * lu(k,2776)
         lu(k,2809) = lu(k,2809) - lu(k,595) * lu(k,2776)
         lu(k,2885) = lu(k,2885) - lu(k,596) * lu(k,2776)
         lu(k,2889) = lu(k,2889) - lu(k,597) * lu(k,2776)
         lu(k,2891) = lu(k,2891) - lu(k,598) * lu(k,2776)
         lu(k,2894) = lu(k,2894) - lu(k,599) * lu(k,2776)
         lu(k,2895) = lu(k,2895) - lu(k,600) * lu(k,2776)
         lu(k,2899) = - lu(k,601) * lu(k,2776)
         lu(k,3201) = lu(k,3201) - lu(k,594) * lu(k,3164)
         lu(k,3202) = lu(k,3202) - lu(k,595) * lu(k,3164)
         lu(k,3281) = lu(k,3281) - lu(k,596) * lu(k,3164)
         lu(k,3285) = lu(k,3285) - lu(k,597) * lu(k,3164)
         lu(k,3287) = lu(k,3287) - lu(k,598) * lu(k,3164)
         lu(k,3290) = lu(k,3290) - lu(k,599) * lu(k,3164)
         lu(k,3291) = lu(k,3291) - lu(k,600) * lu(k,3164)
         lu(k,3295) = lu(k,3295) - lu(k,601) * lu(k,3164)
         lu(k,3324) = - lu(k,594) * lu(k,3322)
         lu(k,3325) = - lu(k,595) * lu(k,3322)
         lu(k,3331) = - lu(k,596) * lu(k,3322)
         lu(k,3335) = lu(k,3335) - lu(k,597) * lu(k,3322)
         lu(k,3337) = lu(k,3337) - lu(k,598) * lu(k,3322)
         lu(k,3340) = - lu(k,599) * lu(k,3322)
         lu(k,3341) = lu(k,3341) - lu(k,600) * lu(k,3322)
         lu(k,3345) = lu(k,3345) - lu(k,601) * lu(k,3322)
      end do
      end subroutine lu_fac13
      subroutine lu_fac14( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,604) = 1._r8 / lu(k,604)
         lu(k,605) = lu(k,605) * lu(k,604)
         lu(k,606) = lu(k,606) * lu(k,604)
         lu(k,607) = lu(k,607) * lu(k,604)
         lu(k,608) = lu(k,608) * lu(k,604)
         lu(k,609) = lu(k,609) * lu(k,604)
         lu(k,2885) = lu(k,2885) - lu(k,605) * lu(k,2777)
         lu(k,2886) = lu(k,2886) - lu(k,606) * lu(k,2777)
         lu(k,2889) = lu(k,2889) - lu(k,607) * lu(k,2777)
         lu(k,2894) = lu(k,2894) - lu(k,608) * lu(k,2777)
         lu(k,2895) = lu(k,2895) - lu(k,609) * lu(k,2777)
         lu(k,2986) = lu(k,2986) - lu(k,605) * lu(k,2911)
         lu(k,2987) = lu(k,2987) - lu(k,606) * lu(k,2911)
         lu(k,2990) = lu(k,2990) - lu(k,607) * lu(k,2911)
         lu(k,2995) = lu(k,2995) - lu(k,608) * lu(k,2911)
         lu(k,2996) = lu(k,2996) - lu(k,609) * lu(k,2911)
         lu(k,3281) = lu(k,3281) - lu(k,605) * lu(k,3165)
         lu(k,3282) = lu(k,3282) - lu(k,606) * lu(k,3165)
         lu(k,3285) = lu(k,3285) - lu(k,607) * lu(k,3165)
         lu(k,3290) = lu(k,3290) - lu(k,608) * lu(k,3165)
         lu(k,3291) = lu(k,3291) - lu(k,609) * lu(k,3165)
         lu(k,3502) = lu(k,3502) - lu(k,605) * lu(k,3479)
         lu(k,3503) = lu(k,3503) - lu(k,606) * lu(k,3479)
         lu(k,3506) = lu(k,3506) - lu(k,607) * lu(k,3479)
         lu(k,3511) = lu(k,3511) - lu(k,608) * lu(k,3479)
         lu(k,3512) = lu(k,3512) - lu(k,609) * lu(k,3479)
         lu(k,3742) = lu(k,3742) - lu(k,605) * lu(k,3609)
         lu(k,3743) = lu(k,3743) - lu(k,606) * lu(k,3609)
         lu(k,3746) = lu(k,3746) - lu(k,607) * lu(k,3609)
         lu(k,3751) = lu(k,3751) - lu(k,608) * lu(k,3609)
         lu(k,3752) = lu(k,3752) - lu(k,609) * lu(k,3609)
         lu(k,613) = 1._r8 / lu(k,613)
         lu(k,614) = lu(k,614) * lu(k,613)
         lu(k,615) = lu(k,615) * lu(k,613)
         lu(k,616) = lu(k,616) * lu(k,613)
         lu(k,617) = lu(k,617) * lu(k,613)
         lu(k,618) = lu(k,618) * lu(k,613)
         lu(k,619) = lu(k,619) * lu(k,613)
         lu(k,620) = lu(k,620) * lu(k,613)
         lu(k,621) = lu(k,621) * lu(k,613)
         lu(k,622) = lu(k,622) * lu(k,613)
         lu(k,761) = lu(k,761) - lu(k,614) * lu(k,760)
         lu(k,762) = lu(k,762) - lu(k,615) * lu(k,760)
         lu(k,763) = lu(k,763) - lu(k,616) * lu(k,760)
         lu(k,764) = lu(k,764) - lu(k,617) * lu(k,760)
         lu(k,765) = lu(k,765) - lu(k,618) * lu(k,760)
         lu(k,766) = lu(k,766) - lu(k,619) * lu(k,760)
         lu(k,767) = lu(k,767) - lu(k,620) * lu(k,760)
         lu(k,769) = lu(k,769) - lu(k,621) * lu(k,760)
         lu(k,771) = - lu(k,622) * lu(k,760)
         lu(k,3177) = lu(k,3177) - lu(k,614) * lu(k,3166)
         lu(k,3178) = lu(k,3178) - lu(k,615) * lu(k,3166)
         lu(k,3180) = lu(k,3180) - lu(k,616) * lu(k,3166)
         lu(k,3182) = lu(k,3182) - lu(k,617) * lu(k,3166)
         lu(k,3206) = lu(k,3206) - lu(k,618) * lu(k,3166)
         lu(k,3232) = lu(k,3232) - lu(k,619) * lu(k,3166)
         lu(k,3249) = lu(k,3249) - lu(k,620) * lu(k,3166)
         lu(k,3285) = lu(k,3285) - lu(k,621) * lu(k,3166)
         lu(k,3291) = lu(k,3291) - lu(k,622) * lu(k,3166)
         lu(k,3624) = lu(k,3624) - lu(k,614) * lu(k,3610)
         lu(k,3625) = lu(k,3625) - lu(k,615) * lu(k,3610)
         lu(k,3627) = - lu(k,616) * lu(k,3610)
         lu(k,3631) = - lu(k,617) * lu(k,3610)
         lu(k,3664) = lu(k,3664) - lu(k,618) * lu(k,3610)
         lu(k,3694) = lu(k,3694) - lu(k,619) * lu(k,3610)
         lu(k,3711) = lu(k,3711) - lu(k,620) * lu(k,3610)
         lu(k,3746) = lu(k,3746) - lu(k,621) * lu(k,3610)
         lu(k,3752) = lu(k,3752) - lu(k,622) * lu(k,3610)
         lu(k,623) = 1._r8 / lu(k,623)
         lu(k,624) = lu(k,624) * lu(k,623)
         lu(k,625) = lu(k,625) * lu(k,623)
         lu(k,626) = lu(k,626) * lu(k,623)
         lu(k,627) = lu(k,627) * lu(k,623)
         lu(k,628) = lu(k,628) * lu(k,623)
         lu(k,629) = lu(k,629) * lu(k,623)
         lu(k,630) = lu(k,630) * lu(k,623)
         lu(k,631) = lu(k,631) * lu(k,623)
         lu(k,632) = lu(k,632) * lu(k,623)
         lu(k,2010) = - lu(k,624) * lu(k,2008)
         lu(k,2015) = - lu(k,625) * lu(k,2008)
         lu(k,2027) = lu(k,2027) - lu(k,626) * lu(k,2008)
         lu(k,2030) = lu(k,2030) - lu(k,627) * lu(k,2008)
         lu(k,2033) = lu(k,2033) - lu(k,628) * lu(k,2008)
         lu(k,2042) = lu(k,2042) - lu(k,629) * lu(k,2008)
         lu(k,2043) = lu(k,2043) - lu(k,630) * lu(k,2008)
         lu(k,2046) = lu(k,2046) - lu(k,631) * lu(k,2008)
         lu(k,2047) = lu(k,2047) - lu(k,632) * lu(k,2008)
         lu(k,3354) = - lu(k,624) * lu(k,3350)
         lu(k,3360) = - lu(k,625) * lu(k,3350)
         lu(k,3386) = lu(k,3386) - lu(k,626) * lu(k,3350)
         lu(k,3391) = lu(k,3391) - lu(k,627) * lu(k,3350)
         lu(k,3395) = lu(k,3395) - lu(k,628) * lu(k,3350)
         lu(k,3426) = lu(k,3426) - lu(k,629) * lu(k,3350)
         lu(k,3428) = lu(k,3428) - lu(k,630) * lu(k,3350)
         lu(k,3431) = lu(k,3431) - lu(k,631) * lu(k,3350)
         lu(k,3432) = lu(k,3432) - lu(k,632) * lu(k,3350)
         lu(k,3655) = lu(k,3655) - lu(k,624) * lu(k,3611)
         lu(k,3675) = lu(k,3675) - lu(k,625) * lu(k,3611)
         lu(k,3707) = lu(k,3707) - lu(k,626) * lu(k,3611)
         lu(k,3712) = lu(k,3712) - lu(k,627) * lu(k,3611)
         lu(k,3716) = lu(k,3716) - lu(k,628) * lu(k,3611)
         lu(k,3746) = lu(k,3746) - lu(k,629) * lu(k,3611)
         lu(k,3748) = lu(k,3748) - lu(k,630) * lu(k,3611)
         lu(k,3751) = lu(k,3751) - lu(k,631) * lu(k,3611)
         lu(k,3752) = lu(k,3752) - lu(k,632) * lu(k,3611)
         lu(k,634) = 1._r8 / lu(k,634)
         lu(k,635) = lu(k,635) * lu(k,634)
         lu(k,636) = lu(k,636) * lu(k,634)
         lu(k,637) = lu(k,637) * lu(k,634)
         lu(k,638) = lu(k,638) * lu(k,634)
         lu(k,639) = lu(k,639) * lu(k,634)
         lu(k,640) = lu(k,640) * lu(k,634)
         lu(k,641) = lu(k,641) * lu(k,634)
         lu(k,642) = lu(k,642) * lu(k,634)
         lu(k,643) = lu(k,643) * lu(k,634)
         lu(k,1131) = lu(k,1131) - lu(k,635) * lu(k,1129)
         lu(k,1133) = lu(k,1133) - lu(k,636) * lu(k,1129)
         lu(k,1134) = lu(k,1134) - lu(k,637) * lu(k,1129)
         lu(k,1135) = lu(k,1135) - lu(k,638) * lu(k,1129)
         lu(k,1136) = lu(k,1136) - lu(k,639) * lu(k,1129)
         lu(k,1138) = lu(k,1138) - lu(k,640) * lu(k,1129)
         lu(k,1139) = lu(k,1139) - lu(k,641) * lu(k,1129)
         lu(k,1140) = lu(k,1140) - lu(k,642) * lu(k,1129)
         lu(k,1141) = lu(k,1141) - lu(k,643) * lu(k,1129)
         lu(k,2779) = lu(k,2779) - lu(k,635) * lu(k,2778)
         lu(k,2817) = lu(k,2817) - lu(k,636) * lu(k,2778)
         lu(k,2820) = lu(k,2820) - lu(k,637) * lu(k,2778)
         lu(k,2864) = lu(k,2864) - lu(k,638) * lu(k,2778)
         lu(k,2882) = lu(k,2882) - lu(k,639) * lu(k,2778)
         lu(k,2889) = lu(k,2889) - lu(k,640) * lu(k,2778)
         lu(k,2891) = lu(k,2891) - lu(k,641) * lu(k,2778)
         lu(k,2894) = lu(k,2894) - lu(k,642) * lu(k,2778)
         lu(k,2895) = lu(k,2895) - lu(k,643) * lu(k,2778)
         lu(k,3614) = lu(k,3614) - lu(k,635) * lu(k,3612)
         lu(k,3670) = lu(k,3670) - lu(k,636) * lu(k,3612)
         lu(k,3674) = lu(k,3674) - lu(k,637) * lu(k,3612)
         lu(k,3721) = lu(k,3721) - lu(k,638) * lu(k,3612)
         lu(k,3739) = lu(k,3739) - lu(k,639) * lu(k,3612)
         lu(k,3746) = lu(k,3746) - lu(k,640) * lu(k,3612)
         lu(k,3748) = lu(k,3748) - lu(k,641) * lu(k,3612)
         lu(k,3751) = lu(k,3751) - lu(k,642) * lu(k,3612)
         lu(k,3752) = lu(k,3752) - lu(k,643) * lu(k,3612)
         lu(k,645) = 1._r8 / lu(k,645)
         lu(k,646) = lu(k,646) * lu(k,645)
         lu(k,647) = lu(k,647) * lu(k,645)
         lu(k,648) = lu(k,648) * lu(k,645)
         lu(k,649) = lu(k,649) * lu(k,645)
         lu(k,650) = lu(k,650) * lu(k,645)
         lu(k,651) = lu(k,651) * lu(k,645)
         lu(k,652) = lu(k,652) * lu(k,645)
         lu(k,653) = lu(k,653) * lu(k,645)
         lu(k,654) = lu(k,654) * lu(k,645)
         lu(k,1131) = lu(k,1131) - lu(k,646) * lu(k,1130)
         lu(k,1132) = lu(k,1132) - lu(k,647) * lu(k,1130)
         lu(k,1133) = lu(k,1133) - lu(k,648) * lu(k,1130)
         lu(k,1134) = lu(k,1134) - lu(k,649) * lu(k,1130)
         lu(k,1135) = lu(k,1135) - lu(k,650) * lu(k,1130)
         lu(k,1136) = lu(k,1136) - lu(k,651) * lu(k,1130)
         lu(k,1138) = lu(k,1138) - lu(k,652) * lu(k,1130)
         lu(k,1139) = lu(k,1139) - lu(k,653) * lu(k,1130)
         lu(k,1141) = lu(k,1141) - lu(k,654) * lu(k,1130)
         lu(k,3168) = lu(k,3168) - lu(k,646) * lu(k,3167)
         lu(k,3203) = lu(k,3203) - lu(k,647) * lu(k,3167)
         lu(k,3210) = lu(k,3210) - lu(k,648) * lu(k,3167)
         lu(k,3213) = lu(k,3213) - lu(k,649) * lu(k,3167)
         lu(k,3260) = lu(k,3260) - lu(k,650) * lu(k,3167)
         lu(k,3278) = lu(k,3278) - lu(k,651) * lu(k,3167)
         lu(k,3285) = lu(k,3285) - lu(k,652) * lu(k,3167)
         lu(k,3287) = lu(k,3287) - lu(k,653) * lu(k,3167)
         lu(k,3291) = lu(k,3291) - lu(k,654) * lu(k,3167)
         lu(k,3614) = lu(k,3614) - lu(k,646) * lu(k,3613)
         lu(k,3659) = lu(k,3659) - lu(k,647) * lu(k,3613)
         lu(k,3670) = lu(k,3670) - lu(k,648) * lu(k,3613)
         lu(k,3674) = lu(k,3674) - lu(k,649) * lu(k,3613)
         lu(k,3721) = lu(k,3721) - lu(k,650) * lu(k,3613)
         lu(k,3739) = lu(k,3739) - lu(k,651) * lu(k,3613)
         lu(k,3746) = lu(k,3746) - lu(k,652) * lu(k,3613)
         lu(k,3748) = lu(k,3748) - lu(k,653) * lu(k,3613)
         lu(k,3752) = lu(k,3752) - lu(k,654) * lu(k,3613)
      end do
      end subroutine lu_fac14
      subroutine lu_fac15( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,656) = 1._r8 / lu(k,656)
         lu(k,657) = lu(k,657) * lu(k,656)
         lu(k,658) = lu(k,658) * lu(k,656)
         lu(k,659) = lu(k,659) * lu(k,656)
         lu(k,660) = lu(k,660) * lu(k,656)
         lu(k,661) = lu(k,661) * lu(k,656)
         lu(k,662) = lu(k,662) * lu(k,656)
         lu(k,1134) = lu(k,1134) - lu(k,657) * lu(k,1131)
         lu(k,1136) = lu(k,1136) - lu(k,658) * lu(k,1131)
         lu(k,1137) = lu(k,1137) - lu(k,659) * lu(k,1131)
         lu(k,1138) = lu(k,1138) - lu(k,660) * lu(k,1131)
         lu(k,1140) = lu(k,1140) - lu(k,661) * lu(k,1131)
         lu(k,1141) = lu(k,1141) - lu(k,662) * lu(k,1131)
         lu(k,2820) = lu(k,2820) - lu(k,657) * lu(k,2779)
         lu(k,2882) = lu(k,2882) - lu(k,658) * lu(k,2779)
         lu(k,2885) = lu(k,2885) - lu(k,659) * lu(k,2779)
         lu(k,2889) = lu(k,2889) - lu(k,660) * lu(k,2779)
         lu(k,2894) = lu(k,2894) - lu(k,661) * lu(k,2779)
         lu(k,2895) = lu(k,2895) - lu(k,662) * lu(k,2779)
         lu(k,3213) = lu(k,3213) - lu(k,657) * lu(k,3168)
         lu(k,3278) = lu(k,3278) - lu(k,658) * lu(k,3168)
         lu(k,3281) = lu(k,3281) - lu(k,659) * lu(k,3168)
         lu(k,3285) = lu(k,3285) - lu(k,660) * lu(k,3168)
         lu(k,3290) = lu(k,3290) - lu(k,661) * lu(k,3168)
         lu(k,3291) = lu(k,3291) - lu(k,662) * lu(k,3168)
         lu(k,3674) = lu(k,3674) - lu(k,657) * lu(k,3614)
         lu(k,3739) = lu(k,3739) - lu(k,658) * lu(k,3614)
         lu(k,3742) = lu(k,3742) - lu(k,659) * lu(k,3614)
         lu(k,3746) = lu(k,3746) - lu(k,660) * lu(k,3614)
         lu(k,3751) = lu(k,3751) - lu(k,661) * lu(k,3614)
         lu(k,3752) = lu(k,3752) - lu(k,662) * lu(k,3614)
         lu(k,663) = 1._r8 / lu(k,663)
         lu(k,664) = lu(k,664) * lu(k,663)
         lu(k,665) = lu(k,665) * lu(k,663)
         lu(k,666) = lu(k,666) * lu(k,663)
         lu(k,667) = lu(k,667) * lu(k,663)
         lu(k,668) = lu(k,668) * lu(k,663)
         lu(k,669) = lu(k,669) * lu(k,663)
         lu(k,670) = lu(k,670) * lu(k,663)
         lu(k,1403) = lu(k,1403) - lu(k,664) * lu(k,1402)
         lu(k,1405) = lu(k,1405) - lu(k,665) * lu(k,1402)
         lu(k,1406) = lu(k,1406) - lu(k,666) * lu(k,1402)
         lu(k,1407) = lu(k,1407) - lu(k,667) * lu(k,1402)
         lu(k,1409) = lu(k,1409) - lu(k,668) * lu(k,1402)
         lu(k,1411) = lu(k,1411) - lu(k,669) * lu(k,1402)
         lu(k,1413) = lu(k,1413) - lu(k,670) * lu(k,1402)
         lu(k,1880) = - lu(k,664) * lu(k,1878)
         lu(k,1885) = lu(k,1885) - lu(k,665) * lu(k,1878)
         lu(k,1886) = lu(k,1886) - lu(k,666) * lu(k,1878)
         lu(k,1887) = lu(k,1887) - lu(k,667) * lu(k,1878)
         lu(k,1894) = - lu(k,668) * lu(k,1878)
         lu(k,1906) = lu(k,1906) - lu(k,669) * lu(k,1878)
         lu(k,1910) = lu(k,1910) - lu(k,670) * lu(k,1878)
         lu(k,3206) = lu(k,3206) - lu(k,664) * lu(k,3169)
         lu(k,3228) = lu(k,3228) - lu(k,665) * lu(k,3169)
         lu(k,3232) = lu(k,3232) - lu(k,666) * lu(k,3169)
         lu(k,3237) = lu(k,3237) - lu(k,667) * lu(k,3169)
         lu(k,3249) = lu(k,3249) - lu(k,668) * lu(k,3169)
         lu(k,3285) = lu(k,3285) - lu(k,669) * lu(k,3169)
         lu(k,3291) = lu(k,3291) - lu(k,670) * lu(k,3169)
         lu(k,3664) = lu(k,3664) - lu(k,664) * lu(k,3615)
         lu(k,3689) = lu(k,3689) - lu(k,665) * lu(k,3615)
         lu(k,3694) = lu(k,3694) - lu(k,666) * lu(k,3615)
         lu(k,3699) = lu(k,3699) - lu(k,667) * lu(k,3615)
         lu(k,3711) = lu(k,3711) - lu(k,668) * lu(k,3615)
         lu(k,3746) = lu(k,3746) - lu(k,669) * lu(k,3615)
         lu(k,3752) = lu(k,3752) - lu(k,670) * lu(k,3615)
         lu(k,671) = 1._r8 / lu(k,671)
         lu(k,672) = lu(k,672) * lu(k,671)
         lu(k,673) = lu(k,673) * lu(k,671)
         lu(k,674) = lu(k,674) * lu(k,671)
         lu(k,675) = lu(k,675) * lu(k,671)
         lu(k,676) = lu(k,676) * lu(k,671)
         lu(k,677) = lu(k,677) * lu(k,671)
         lu(k,678) = lu(k,678) * lu(k,671)
         lu(k,2293) = - lu(k,672) * lu(k,2292)
         lu(k,2301) = lu(k,2301) - lu(k,673) * lu(k,2292)
         lu(k,2305) = lu(k,2305) - lu(k,674) * lu(k,2292)
         lu(k,2313) = - lu(k,675) * lu(k,2292)
         lu(k,2317) = lu(k,2317) - lu(k,676) * lu(k,2292)
         lu(k,2320) = lu(k,2320) - lu(k,677) * lu(k,2292)
         lu(k,2321) = lu(k,2321) - lu(k,678) * lu(k,2292)
         lu(k,2352) = - lu(k,672) * lu(k,2351)
         lu(k,2360) = lu(k,2360) - lu(k,673) * lu(k,2351)
         lu(k,2366) = lu(k,2366) - lu(k,674) * lu(k,2351)
         lu(k,2374) = - lu(k,675) * lu(k,2351)
         lu(k,2378) = lu(k,2378) - lu(k,676) * lu(k,2351)
         lu(k,2381) = lu(k,2381) - lu(k,677) * lu(k,2351)
         lu(k,2382) = lu(k,2382) - lu(k,678) * lu(k,2351)
         lu(k,3190) = lu(k,3190) - lu(k,672) * lu(k,3170)
         lu(k,3236) = lu(k,3236) - lu(k,673) * lu(k,3170)
         lu(k,3271) = lu(k,3271) - lu(k,674) * lu(k,3170)
         lu(k,3279) = - lu(k,675) * lu(k,3170)
         lu(k,3285) = lu(k,3285) - lu(k,676) * lu(k,3170)
         lu(k,3290) = lu(k,3290) - lu(k,677) * lu(k,3170)
         lu(k,3291) = lu(k,3291) - lu(k,678) * lu(k,3170)
         lu(k,3641) = lu(k,3641) - lu(k,672) * lu(k,3616)
         lu(k,3698) = lu(k,3698) - lu(k,673) * lu(k,3616)
         lu(k,3732) = lu(k,3732) - lu(k,674) * lu(k,3616)
         lu(k,3740) = lu(k,3740) - lu(k,675) * lu(k,3616)
         lu(k,3746) = lu(k,3746) - lu(k,676) * lu(k,3616)
         lu(k,3751) = lu(k,3751) - lu(k,677) * lu(k,3616)
         lu(k,3752) = lu(k,3752) - lu(k,678) * lu(k,3616)
         lu(k,680) = 1._r8 / lu(k,680)
         lu(k,681) = lu(k,681) * lu(k,680)
         lu(k,682) = lu(k,682) * lu(k,680)
         lu(k,683) = lu(k,683) * lu(k,680)
         lu(k,684) = lu(k,684) * lu(k,680)
         lu(k,685) = lu(k,685) * lu(k,680)
         lu(k,686) = lu(k,686) * lu(k,680)
         lu(k,687) = lu(k,687) * lu(k,680)
         lu(k,2413) = - lu(k,681) * lu(k,2412)
         lu(k,2418) = lu(k,2418) - lu(k,682) * lu(k,2412)
         lu(k,2428) = - lu(k,683) * lu(k,2412)
         lu(k,2431) = - lu(k,684) * lu(k,2412)
         lu(k,2432) = lu(k,2432) - lu(k,685) * lu(k,2412)
         lu(k,2434) = lu(k,2434) - lu(k,686) * lu(k,2412)
         lu(k,2435) = lu(k,2435) - lu(k,687) * lu(k,2412)
         lu(k,2795) = lu(k,2795) - lu(k,681) * lu(k,2780)
         lu(k,2844) = lu(k,2844) - lu(k,682) * lu(k,2780)
         lu(k,2885) = lu(k,2885) - lu(k,683) * lu(k,2780)
         lu(k,2889) = lu(k,2889) - lu(k,684) * lu(k,2780)
         lu(k,2891) = lu(k,2891) - lu(k,685) * lu(k,2780)
         lu(k,2894) = lu(k,2894) - lu(k,686) * lu(k,2780)
         lu(k,2895) = lu(k,2895) - lu(k,687) * lu(k,2780)
         lu(k,3186) = lu(k,3186) - lu(k,681) * lu(k,3171)
         lu(k,3240) = lu(k,3240) - lu(k,682) * lu(k,3171)
         lu(k,3281) = lu(k,3281) - lu(k,683) * lu(k,3171)
         lu(k,3285) = lu(k,3285) - lu(k,684) * lu(k,3171)
         lu(k,3287) = lu(k,3287) - lu(k,685) * lu(k,3171)
         lu(k,3290) = lu(k,3290) - lu(k,686) * lu(k,3171)
         lu(k,3291) = lu(k,3291) - lu(k,687) * lu(k,3171)
         lu(k,3636) = lu(k,3636) - lu(k,681) * lu(k,3617)
         lu(k,3702) = lu(k,3702) - lu(k,682) * lu(k,3617)
         lu(k,3742) = lu(k,3742) - lu(k,683) * lu(k,3617)
         lu(k,3746) = lu(k,3746) - lu(k,684) * lu(k,3617)
         lu(k,3748) = lu(k,3748) - lu(k,685) * lu(k,3617)
         lu(k,3751) = lu(k,3751) - lu(k,686) * lu(k,3617)
         lu(k,3752) = lu(k,3752) - lu(k,687) * lu(k,3617)
         lu(k,688) = 1._r8 / lu(k,688)
         lu(k,689) = lu(k,689) * lu(k,688)
         lu(k,690) = lu(k,690) * lu(k,688)
         lu(k,691) = lu(k,691) * lu(k,688)
         lu(k,692) = lu(k,692) * lu(k,688)
         lu(k,693) = lu(k,693) * lu(k,688)
         lu(k,694) = lu(k,694) * lu(k,688)
         lu(k,695) = lu(k,695) * lu(k,688)
         lu(k,1587) = - lu(k,689) * lu(k,1586)
         lu(k,1588) = - lu(k,690) * lu(k,1586)
         lu(k,1589) = - lu(k,691) * lu(k,1586)
         lu(k,1594) = - lu(k,692) * lu(k,1586)
         lu(k,1595) = lu(k,1595) - lu(k,693) * lu(k,1586)
         lu(k,1596) = lu(k,1596) - lu(k,694) * lu(k,1586)
         lu(k,1597) = lu(k,1597) - lu(k,695) * lu(k,1586)
         lu(k,2795) = lu(k,2795) - lu(k,689) * lu(k,2781)
         lu(k,2812) = lu(k,2812) - lu(k,690) * lu(k,2781)
         lu(k,2831) = lu(k,2831) - lu(k,691) * lu(k,2781)
         lu(k,2885) = lu(k,2885) - lu(k,692) * lu(k,2781)
         lu(k,2889) = lu(k,2889) - lu(k,693) * lu(k,2781)
         lu(k,2894) = lu(k,2894) - lu(k,694) * lu(k,2781)
         lu(k,2895) = lu(k,2895) - lu(k,695) * lu(k,2781)
         lu(k,3186) = lu(k,3186) - lu(k,689) * lu(k,3172)
         lu(k,3205) = - lu(k,690) * lu(k,3172)
         lu(k,3227) = lu(k,3227) - lu(k,691) * lu(k,3172)
         lu(k,3281) = lu(k,3281) - lu(k,692) * lu(k,3172)
         lu(k,3285) = lu(k,3285) - lu(k,693) * lu(k,3172)
         lu(k,3290) = lu(k,3290) - lu(k,694) * lu(k,3172)
         lu(k,3291) = lu(k,3291) - lu(k,695) * lu(k,3172)
         lu(k,3636) = lu(k,3636) - lu(k,689) * lu(k,3618)
         lu(k,3661) = lu(k,3661) - lu(k,690) * lu(k,3618)
         lu(k,3688) = lu(k,3688) - lu(k,691) * lu(k,3618)
         lu(k,3742) = lu(k,3742) - lu(k,692) * lu(k,3618)
         lu(k,3746) = lu(k,3746) - lu(k,693) * lu(k,3618)
         lu(k,3751) = lu(k,3751) - lu(k,694) * lu(k,3618)
         lu(k,3752) = lu(k,3752) - lu(k,695) * lu(k,3618)
      end do
      end subroutine lu_fac15
      subroutine lu_fac16( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,696) = 1._r8 / lu(k,696)
         lu(k,697) = lu(k,697) * lu(k,696)
         lu(k,698) = lu(k,698) * lu(k,696)
         lu(k,699) = lu(k,699) * lu(k,696)
         lu(k,700) = lu(k,700) * lu(k,696)
         lu(k,701) = lu(k,701) * lu(k,696)
         lu(k,702) = lu(k,702) * lu(k,696)
         lu(k,703) = lu(k,703) * lu(k,696)
         lu(k,1599) = - lu(k,697) * lu(k,1598)
         lu(k,1600) = - lu(k,698) * lu(k,1598)
         lu(k,1601) = - lu(k,699) * lu(k,1598)
         lu(k,1607) = - lu(k,700) * lu(k,1598)
         lu(k,1608) = lu(k,1608) - lu(k,701) * lu(k,1598)
         lu(k,1609) = lu(k,1609) - lu(k,702) * lu(k,1598)
         lu(k,1610) = lu(k,1610) - lu(k,703) * lu(k,1598)
         lu(k,2795) = lu(k,2795) - lu(k,697) * lu(k,2782)
         lu(k,2812) = lu(k,2812) - lu(k,698) * lu(k,2782)
         lu(k,2829) = lu(k,2829) - lu(k,699) * lu(k,2782)
         lu(k,2885) = lu(k,2885) - lu(k,700) * lu(k,2782)
         lu(k,2889) = lu(k,2889) - lu(k,701) * lu(k,2782)
         lu(k,2894) = lu(k,2894) - lu(k,702) * lu(k,2782)
         lu(k,2895) = lu(k,2895) - lu(k,703) * lu(k,2782)
         lu(k,3186) = lu(k,3186) - lu(k,697) * lu(k,3173)
         lu(k,3205) = lu(k,3205) - lu(k,698) * lu(k,3173)
         lu(k,3223) = lu(k,3223) - lu(k,699) * lu(k,3173)
         lu(k,3281) = lu(k,3281) - lu(k,700) * lu(k,3173)
         lu(k,3285) = lu(k,3285) - lu(k,701) * lu(k,3173)
         lu(k,3290) = lu(k,3290) - lu(k,702) * lu(k,3173)
         lu(k,3291) = lu(k,3291) - lu(k,703) * lu(k,3173)
         lu(k,3636) = lu(k,3636) - lu(k,697) * lu(k,3619)
         lu(k,3661) = lu(k,3661) - lu(k,698) * lu(k,3619)
         lu(k,3684) = lu(k,3684) - lu(k,699) * lu(k,3619)
         lu(k,3742) = lu(k,3742) - lu(k,700) * lu(k,3619)
         lu(k,3746) = lu(k,3746) - lu(k,701) * lu(k,3619)
         lu(k,3751) = lu(k,3751) - lu(k,702) * lu(k,3619)
         lu(k,3752) = lu(k,3752) - lu(k,703) * lu(k,3619)
         lu(k,710) = 1._r8 / lu(k,710)
         lu(k,711) = lu(k,711) * lu(k,710)
         lu(k,712) = lu(k,712) * lu(k,710)
         lu(k,713) = lu(k,713) * lu(k,710)
         lu(k,714) = lu(k,714) * lu(k,710)
         lu(k,715) = lu(k,715) * lu(k,710)
         lu(k,716) = lu(k,716) * lu(k,710)
         lu(k,717) = lu(k,717) * lu(k,710)
         lu(k,718) = lu(k,718) * lu(k,710)
         lu(k,719) = lu(k,719) * lu(k,710)
         lu(k,720) = lu(k,720) * lu(k,710)
         lu(k,2943) = lu(k,2943) - lu(k,711) * lu(k,2912)
         lu(k,2965) = lu(k,2965) - lu(k,712) * lu(k,2912)
         lu(k,2971) = - lu(k,713) * lu(k,2912)
         lu(k,2974) = - lu(k,714) * lu(k,2912)
         lu(k,2975) = lu(k,2975) - lu(k,715) * lu(k,2912)
         lu(k,2987) = lu(k,2987) - lu(k,716) * lu(k,2912)
         lu(k,2988) = lu(k,2988) - lu(k,717) * lu(k,2912)
         lu(k,2990) = lu(k,2990) - lu(k,718) * lu(k,2912)
         lu(k,2992) = lu(k,2992) - lu(k,719) * lu(k,2912)
         lu(k,2996) = lu(k,2996) - lu(k,720) * lu(k,2912)
         lu(k,3036) = - lu(k,711) * lu(k,3007)
         lu(k,3057) = lu(k,3057) - lu(k,712) * lu(k,3007)
         lu(k,3063) = lu(k,3063) - lu(k,713) * lu(k,3007)
         lu(k,3066) = lu(k,3066) - lu(k,714) * lu(k,3007)
         lu(k,3067) = lu(k,3067) - lu(k,715) * lu(k,3007)
         lu(k,3079) = - lu(k,716) * lu(k,3007)
         lu(k,3080) = lu(k,3080) - lu(k,717) * lu(k,3007)
         lu(k,3082) = lu(k,3082) - lu(k,718) * lu(k,3007)
         lu(k,3084) = lu(k,3084) - lu(k,719) * lu(k,3007)
         lu(k,3088) = lu(k,3088) - lu(k,720) * lu(k,3007)
         lu(k,3699) = lu(k,3699) - lu(k,711) * lu(k,3620)
         lu(k,3721) = lu(k,3721) - lu(k,712) * lu(k,3620)
         lu(k,3727) = lu(k,3727) - lu(k,713) * lu(k,3620)
         lu(k,3730) = - lu(k,714) * lu(k,3620)
         lu(k,3731) = lu(k,3731) - lu(k,715) * lu(k,3620)
         lu(k,3743) = lu(k,3743) - lu(k,716) * lu(k,3620)
         lu(k,3744) = lu(k,3744) - lu(k,717) * lu(k,3620)
         lu(k,3746) = lu(k,3746) - lu(k,718) * lu(k,3620)
         lu(k,3748) = lu(k,3748) - lu(k,719) * lu(k,3620)
         lu(k,3752) = lu(k,3752) - lu(k,720) * lu(k,3620)
         lu(k,721) = 1._r8 / lu(k,721)
         lu(k,722) = lu(k,722) * lu(k,721)
         lu(k,723) = lu(k,723) * lu(k,721)
         lu(k,724) = lu(k,724) * lu(k,721)
         lu(k,725) = lu(k,725) * lu(k,721)
         lu(k,726) = lu(k,726) * lu(k,721)
         lu(k,1254) = - lu(k,722) * lu(k,1252)
         lu(k,1260) = - lu(k,723) * lu(k,1252)
         lu(k,1266) = lu(k,1266) - lu(k,724) * lu(k,1252)
         lu(k,1267) = lu(k,1267) - lu(k,725) * lu(k,1252)
         lu(k,1269) = lu(k,1269) - lu(k,726) * lu(k,1252)
         lu(k,1431) = lu(k,1431) - lu(k,722) * lu(k,1427)
         lu(k,1443) = - lu(k,723) * lu(k,1427)
         lu(k,1455) = lu(k,1455) - lu(k,724) * lu(k,1427)
         lu(k,1456) = - lu(k,725) * lu(k,1427)
         lu(k,1459) = lu(k,1459) - lu(k,726) * lu(k,1427)
         lu(k,2813) = lu(k,2813) - lu(k,722) * lu(k,2783)
         lu(k,2836) = lu(k,2836) - lu(k,723) * lu(k,2783)
         lu(k,2889) = lu(k,2889) - lu(k,724) * lu(k,2783)
         lu(k,2891) = lu(k,2891) - lu(k,725) * lu(k,2783)
         lu(k,2895) = lu(k,2895) - lu(k,726) * lu(k,2783)
         lu(k,2926) = lu(k,2926) - lu(k,722) * lu(k,2913)
         lu(k,2940) = lu(k,2940) - lu(k,723) * lu(k,2913)
         lu(k,2990) = lu(k,2990) - lu(k,724) * lu(k,2913)
         lu(k,2992) = lu(k,2992) - lu(k,725) * lu(k,2913)
         lu(k,2996) = lu(k,2996) - lu(k,726) * lu(k,2913)
         lu(k,3206) = lu(k,3206) - lu(k,722) * lu(k,3174)
         lu(k,3232) = lu(k,3232) - lu(k,723) * lu(k,3174)
         lu(k,3285) = lu(k,3285) - lu(k,724) * lu(k,3174)
         lu(k,3287) = lu(k,3287) - lu(k,725) * lu(k,3174)
         lu(k,3291) = lu(k,3291) - lu(k,726) * lu(k,3174)
         lu(k,3664) = lu(k,3664) - lu(k,722) * lu(k,3621)
         lu(k,3694) = lu(k,3694) - lu(k,723) * lu(k,3621)
         lu(k,3746) = lu(k,3746) - lu(k,724) * lu(k,3621)
         lu(k,3748) = lu(k,3748) - lu(k,725) * lu(k,3621)
         lu(k,3752) = lu(k,3752) - lu(k,726) * lu(k,3621)
         lu(k,731) = 1._r8 / lu(k,731)
         lu(k,732) = lu(k,732) * lu(k,731)
         lu(k,733) = lu(k,733) * lu(k,731)
         lu(k,734) = lu(k,734) * lu(k,731)
         lu(k,735) = lu(k,735) * lu(k,731)
         lu(k,736) = lu(k,736) * lu(k,731)
         lu(k,737) = lu(k,737) * lu(k,731)
         lu(k,738) = lu(k,738) * lu(k,731)
         lu(k,739) = lu(k,739) * lu(k,731)
         lu(k,740) = lu(k,740) * lu(k,731)
         lu(k,741) = lu(k,741) * lu(k,731)
         lu(k,777) = lu(k,777) - lu(k,732) * lu(k,776)
         lu(k,778) = lu(k,778) - lu(k,733) * lu(k,776)
         lu(k,779) = lu(k,779) - lu(k,734) * lu(k,776)
         lu(k,780) = lu(k,780) - lu(k,735) * lu(k,776)
         lu(k,781) = lu(k,781) - lu(k,736) * lu(k,776)
         lu(k,782) = lu(k,782) - lu(k,737) * lu(k,776)
         lu(k,783) = lu(k,783) - lu(k,738) * lu(k,776)
         lu(k,784) = lu(k,784) - lu(k,739) * lu(k,776)
         lu(k,786) = lu(k,786) - lu(k,740) * lu(k,776)
         lu(k,788) = - lu(k,741) * lu(k,776)
         lu(k,3177) = lu(k,3177) - lu(k,732) * lu(k,3175)
         lu(k,3179) = lu(k,3179) - lu(k,733) * lu(k,3175)
         lu(k,3180) = lu(k,3180) - lu(k,734) * lu(k,3175)
         lu(k,3182) = lu(k,3182) - lu(k,735) * lu(k,3175)
         lu(k,3206) = lu(k,3206) - lu(k,736) * lu(k,3175)
         lu(k,3232) = lu(k,3232) - lu(k,737) * lu(k,3175)
         lu(k,3249) = lu(k,3249) - lu(k,738) * lu(k,3175)
         lu(k,3278) = lu(k,3278) - lu(k,739) * lu(k,3175)
         lu(k,3285) = lu(k,3285) - lu(k,740) * lu(k,3175)
         lu(k,3291) = lu(k,3291) - lu(k,741) * lu(k,3175)
         lu(k,3624) = lu(k,3624) - lu(k,732) * lu(k,3622)
         lu(k,3626) = lu(k,3626) - lu(k,733) * lu(k,3622)
         lu(k,3627) = lu(k,3627) - lu(k,734) * lu(k,3622)
         lu(k,3631) = lu(k,3631) - lu(k,735) * lu(k,3622)
         lu(k,3664) = lu(k,3664) - lu(k,736) * lu(k,3622)
         lu(k,3694) = lu(k,3694) - lu(k,737) * lu(k,3622)
         lu(k,3711) = lu(k,3711) - lu(k,738) * lu(k,3622)
         lu(k,3739) = lu(k,3739) - lu(k,739) * lu(k,3622)
         lu(k,3746) = lu(k,3746) - lu(k,740) * lu(k,3622)
         lu(k,3752) = lu(k,3752) - lu(k,741) * lu(k,3622)
         lu(k,744) = 1._r8 / lu(k,744)
         lu(k,745) = lu(k,745) * lu(k,744)
         lu(k,746) = lu(k,746) * lu(k,744)
         lu(k,747) = lu(k,747) * lu(k,744)
         lu(k,748) = lu(k,748) * lu(k,744)
         lu(k,749) = lu(k,749) * lu(k,744)
         lu(k,750) = lu(k,750) * lu(k,744)
         lu(k,2832) = lu(k,2832) - lu(k,745) * lu(k,2784)
         lu(k,2885) = lu(k,2885) - lu(k,746) * lu(k,2784)
         lu(k,2889) = lu(k,2889) - lu(k,747) * lu(k,2784)
         lu(k,2891) = lu(k,2891) - lu(k,748) * lu(k,2784)
         lu(k,2894) = lu(k,2894) - lu(k,749) * lu(k,2784)
         lu(k,2895) = lu(k,2895) - lu(k,750) * lu(k,2784)
         lu(k,2936) = lu(k,2936) - lu(k,745) * lu(k,2914)
         lu(k,2986) = lu(k,2986) - lu(k,746) * lu(k,2914)
         lu(k,2990) = lu(k,2990) - lu(k,747) * lu(k,2914)
         lu(k,2992) = lu(k,2992) - lu(k,748) * lu(k,2914)
         lu(k,2995) = lu(k,2995) - lu(k,749) * lu(k,2914)
         lu(k,2996) = lu(k,2996) - lu(k,750) * lu(k,2914)
         lu(k,3228) = lu(k,3228) - lu(k,745) * lu(k,3176)
         lu(k,3281) = lu(k,3281) - lu(k,746) * lu(k,3176)
         lu(k,3285) = lu(k,3285) - lu(k,747) * lu(k,3176)
         lu(k,3287) = lu(k,3287) - lu(k,748) * lu(k,3176)
         lu(k,3290) = lu(k,3290) - lu(k,749) * lu(k,3176)
         lu(k,3291) = lu(k,3291) - lu(k,750) * lu(k,3176)
         lu(k,3689) = lu(k,3689) - lu(k,745) * lu(k,3623)
         lu(k,3742) = lu(k,3742) - lu(k,746) * lu(k,3623)
         lu(k,3746) = lu(k,3746) - lu(k,747) * lu(k,3623)
         lu(k,3748) = lu(k,3748) - lu(k,748) * lu(k,3623)
         lu(k,3751) = lu(k,3751) - lu(k,749) * lu(k,3623)
         lu(k,3752) = lu(k,3752) - lu(k,750) * lu(k,3623)
         lu(k,3817) = - lu(k,745) * lu(k,3807)
         lu(k,3823) = - lu(k,746) * lu(k,3807)
         lu(k,3827) = lu(k,3827) - lu(k,747) * lu(k,3807)
         lu(k,3829) = lu(k,3829) - lu(k,748) * lu(k,3807)
         lu(k,3832) = - lu(k,749) * lu(k,3807)
         lu(k,3833) = lu(k,3833) - lu(k,750) * lu(k,3807)
      end do
      end subroutine lu_fac16
      subroutine lu_fac17( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,751) = 1._r8 / lu(k,751)
         lu(k,752) = lu(k,752) * lu(k,751)
         lu(k,753) = lu(k,753) * lu(k,751)
         lu(k,754) = lu(k,754) * lu(k,751)
         lu(k,755) = lu(k,755) * lu(k,751)
         lu(k,756) = lu(k,756) * lu(k,751)
         lu(k,765) = lu(k,765) - lu(k,752) * lu(k,761)
         lu(k,766) = lu(k,766) - lu(k,753) * lu(k,761)
         lu(k,768) = lu(k,768) - lu(k,754) * lu(k,761)
         lu(k,769) = lu(k,769) - lu(k,755) * lu(k,761)
         lu(k,770) = lu(k,770) - lu(k,756) * lu(k,761)
         lu(k,781) = lu(k,781) - lu(k,752) * lu(k,777)
         lu(k,782) = lu(k,782) - lu(k,753) * lu(k,777)
         lu(k,785) = lu(k,785) - lu(k,754) * lu(k,777)
         lu(k,786) = lu(k,786) - lu(k,755) * lu(k,777)
         lu(k,787) = lu(k,787) - lu(k,756) * lu(k,777)
         lu(k,2813) = lu(k,2813) - lu(k,752) * lu(k,2785)
         lu(k,2836) = lu(k,2836) - lu(k,753) * lu(k,2785)
         lu(k,2885) = lu(k,2885) - lu(k,754) * lu(k,2785)
         lu(k,2889) = lu(k,2889) - lu(k,755) * lu(k,2785)
         lu(k,2894) = lu(k,2894) - lu(k,756) * lu(k,2785)
         lu(k,3206) = lu(k,3206) - lu(k,752) * lu(k,3177)
         lu(k,3232) = lu(k,3232) - lu(k,753) * lu(k,3177)
         lu(k,3281) = lu(k,3281) - lu(k,754) * lu(k,3177)
         lu(k,3285) = lu(k,3285) - lu(k,755) * lu(k,3177)
         lu(k,3290) = lu(k,3290) - lu(k,756) * lu(k,3177)
         lu(k,3486) = - lu(k,752) * lu(k,3480)
         lu(k,3490) = lu(k,3490) - lu(k,753) * lu(k,3480)
         lu(k,3502) = lu(k,3502) - lu(k,754) * lu(k,3480)
         lu(k,3506) = lu(k,3506) - lu(k,755) * lu(k,3480)
         lu(k,3511) = lu(k,3511) - lu(k,756) * lu(k,3480)
         lu(k,3664) = lu(k,3664) - lu(k,752) * lu(k,3624)
         lu(k,3694) = lu(k,3694) - lu(k,753) * lu(k,3624)
         lu(k,3742) = lu(k,3742) - lu(k,754) * lu(k,3624)
         lu(k,3746) = lu(k,3746) - lu(k,755) * lu(k,3624)
         lu(k,3751) = lu(k,3751) - lu(k,756) * lu(k,3624)
         lu(k,762) = 1._r8 / lu(k,762)
         lu(k,763) = lu(k,763) * lu(k,762)
         lu(k,764) = lu(k,764) * lu(k,762)
         lu(k,765) = lu(k,765) * lu(k,762)
         lu(k,766) = lu(k,766) * lu(k,762)
         lu(k,767) = lu(k,767) * lu(k,762)
         lu(k,768) = lu(k,768) * lu(k,762)
         lu(k,769) = lu(k,769) * lu(k,762)
         lu(k,770) = lu(k,770) * lu(k,762)
         lu(k,771) = lu(k,771) * lu(k,762)
         lu(k,2788) = lu(k,2788) - lu(k,763) * lu(k,2786)
         lu(k,2791) = lu(k,2791) - lu(k,764) * lu(k,2786)
         lu(k,2813) = lu(k,2813) - lu(k,765) * lu(k,2786)
         lu(k,2836) = lu(k,2836) - lu(k,766) * lu(k,2786)
         lu(k,2853) = lu(k,2853) - lu(k,767) * lu(k,2786)
         lu(k,2885) = lu(k,2885) - lu(k,768) * lu(k,2786)
         lu(k,2889) = lu(k,2889) - lu(k,769) * lu(k,2786)
         lu(k,2894) = lu(k,2894) - lu(k,770) * lu(k,2786)
         lu(k,2895) = lu(k,2895) - lu(k,771) * lu(k,2786)
         lu(k,3180) = lu(k,3180) - lu(k,763) * lu(k,3178)
         lu(k,3182) = lu(k,3182) - lu(k,764) * lu(k,3178)
         lu(k,3206) = lu(k,3206) - lu(k,765) * lu(k,3178)
         lu(k,3232) = lu(k,3232) - lu(k,766) * lu(k,3178)
         lu(k,3249) = lu(k,3249) - lu(k,767) * lu(k,3178)
         lu(k,3281) = lu(k,3281) - lu(k,768) * lu(k,3178)
         lu(k,3285) = lu(k,3285) - lu(k,769) * lu(k,3178)
         lu(k,3290) = lu(k,3290) - lu(k,770) * lu(k,3178)
         lu(k,3291) = lu(k,3291) - lu(k,771) * lu(k,3178)
         lu(k,3627) = lu(k,3627) - lu(k,763) * lu(k,3625)
         lu(k,3631) = lu(k,3631) - lu(k,764) * lu(k,3625)
         lu(k,3664) = lu(k,3664) - lu(k,765) * lu(k,3625)
         lu(k,3694) = lu(k,3694) - lu(k,766) * lu(k,3625)
         lu(k,3711) = lu(k,3711) - lu(k,767) * lu(k,3625)
         lu(k,3742) = lu(k,3742) - lu(k,768) * lu(k,3625)
         lu(k,3746) = lu(k,3746) - lu(k,769) * lu(k,3625)
         lu(k,3751) = lu(k,3751) - lu(k,770) * lu(k,3625)
         lu(k,3752) = lu(k,3752) - lu(k,771) * lu(k,3625)
         lu(k,778) = 1._r8 / lu(k,778)
         lu(k,779) = lu(k,779) * lu(k,778)
         lu(k,780) = lu(k,780) * lu(k,778)
         lu(k,781) = lu(k,781) * lu(k,778)
         lu(k,782) = lu(k,782) * lu(k,778)
         lu(k,783) = lu(k,783) * lu(k,778)
         lu(k,784) = lu(k,784) * lu(k,778)
         lu(k,785) = lu(k,785) * lu(k,778)
         lu(k,786) = lu(k,786) * lu(k,778)
         lu(k,787) = lu(k,787) * lu(k,778)
         lu(k,788) = lu(k,788) * lu(k,778)
         lu(k,2788) = lu(k,2788) - lu(k,779) * lu(k,2787)
         lu(k,2791) = lu(k,2791) - lu(k,780) * lu(k,2787)
         lu(k,2813) = lu(k,2813) - lu(k,781) * lu(k,2787)
         lu(k,2836) = lu(k,2836) - lu(k,782) * lu(k,2787)
         lu(k,2853) = lu(k,2853) - lu(k,783) * lu(k,2787)
         lu(k,2882) = lu(k,2882) - lu(k,784) * lu(k,2787)
         lu(k,2885) = lu(k,2885) - lu(k,785) * lu(k,2787)
         lu(k,2889) = lu(k,2889) - lu(k,786) * lu(k,2787)
         lu(k,2894) = lu(k,2894) - lu(k,787) * lu(k,2787)
         lu(k,2895) = lu(k,2895) - lu(k,788) * lu(k,2787)
         lu(k,3180) = lu(k,3180) - lu(k,779) * lu(k,3179)
         lu(k,3182) = lu(k,3182) - lu(k,780) * lu(k,3179)
         lu(k,3206) = lu(k,3206) - lu(k,781) * lu(k,3179)
         lu(k,3232) = lu(k,3232) - lu(k,782) * lu(k,3179)
         lu(k,3249) = lu(k,3249) - lu(k,783) * lu(k,3179)
         lu(k,3278) = lu(k,3278) - lu(k,784) * lu(k,3179)
         lu(k,3281) = lu(k,3281) - lu(k,785) * lu(k,3179)
         lu(k,3285) = lu(k,3285) - lu(k,786) * lu(k,3179)
         lu(k,3290) = lu(k,3290) - lu(k,787) * lu(k,3179)
         lu(k,3291) = lu(k,3291) - lu(k,788) * lu(k,3179)
         lu(k,3627) = lu(k,3627) - lu(k,779) * lu(k,3626)
         lu(k,3631) = lu(k,3631) - lu(k,780) * lu(k,3626)
         lu(k,3664) = lu(k,3664) - lu(k,781) * lu(k,3626)
         lu(k,3694) = lu(k,3694) - lu(k,782) * lu(k,3626)
         lu(k,3711) = lu(k,3711) - lu(k,783) * lu(k,3626)
         lu(k,3739) = lu(k,3739) - lu(k,784) * lu(k,3626)
         lu(k,3742) = lu(k,3742) - lu(k,785) * lu(k,3626)
         lu(k,3746) = lu(k,3746) - lu(k,786) * lu(k,3626)
         lu(k,3751) = lu(k,3751) - lu(k,787) * lu(k,3626)
         lu(k,3752) = lu(k,3752) - lu(k,788) * lu(k,3626)
         lu(k,789) = 1._r8 / lu(k,789)
         lu(k,790) = lu(k,790) * lu(k,789)
         lu(k,791) = lu(k,791) * lu(k,789)
         lu(k,792) = lu(k,792) * lu(k,789)
         lu(k,793) = lu(k,793) * lu(k,789)
         lu(k,794) = lu(k,794) * lu(k,789)
         lu(k,795) = lu(k,795) * lu(k,789)
         lu(k,796) = lu(k,796) * lu(k,789)
         lu(k,2836) = lu(k,2836) - lu(k,790) * lu(k,2788)
         lu(k,2853) = lu(k,2853) - lu(k,791) * lu(k,2788)
         lu(k,2885) = lu(k,2885) - lu(k,792) * lu(k,2788)
         lu(k,2889) = lu(k,2889) - lu(k,793) * lu(k,2788)
         lu(k,2892) = lu(k,2892) - lu(k,794) * lu(k,2788)
         lu(k,2894) = lu(k,2894) - lu(k,795) * lu(k,2788)
         lu(k,2895) = lu(k,2895) - lu(k,796) * lu(k,2788)
         lu(k,3232) = lu(k,3232) - lu(k,790) * lu(k,3180)
         lu(k,3249) = lu(k,3249) - lu(k,791) * lu(k,3180)
         lu(k,3281) = lu(k,3281) - lu(k,792) * lu(k,3180)
         lu(k,3285) = lu(k,3285) - lu(k,793) * lu(k,3180)
         lu(k,3288) = lu(k,3288) - lu(k,794) * lu(k,3180)
         lu(k,3290) = lu(k,3290) - lu(k,795) * lu(k,3180)
         lu(k,3291) = lu(k,3291) - lu(k,796) * lu(k,3180)
         lu(k,3490) = lu(k,3490) - lu(k,790) * lu(k,3481)
         lu(k,3493) = - lu(k,791) * lu(k,3481)
         lu(k,3502) = lu(k,3502) - lu(k,792) * lu(k,3481)
         lu(k,3506) = lu(k,3506) - lu(k,793) * lu(k,3481)
         lu(k,3509) = lu(k,3509) - lu(k,794) * lu(k,3481)
         lu(k,3511) = lu(k,3511) - lu(k,795) * lu(k,3481)
         lu(k,3512) = lu(k,3512) - lu(k,796) * lu(k,3481)
         lu(k,3694) = lu(k,3694) - lu(k,790) * lu(k,3627)
         lu(k,3711) = lu(k,3711) - lu(k,791) * lu(k,3627)
         lu(k,3742) = lu(k,3742) - lu(k,792) * lu(k,3627)
         lu(k,3746) = lu(k,3746) - lu(k,793) * lu(k,3627)
         lu(k,3749) = lu(k,3749) - lu(k,794) * lu(k,3627)
         lu(k,3751) = lu(k,3751) - lu(k,795) * lu(k,3627)
         lu(k,3752) = lu(k,3752) - lu(k,796) * lu(k,3627)
         lu(k,797) = 1._r8 / lu(k,797)
         lu(k,798) = lu(k,798) * lu(k,797)
         lu(k,799) = lu(k,799) * lu(k,797)
         lu(k,800) = lu(k,800) * lu(k,797)
         lu(k,801) = lu(k,801) * lu(k,797)
         lu(k,1548) = - lu(k,798) * lu(k,1545)
         lu(k,1551) = - lu(k,799) * lu(k,1545)
         lu(k,1560) = lu(k,1560) - lu(k,800) * lu(k,1545)
         lu(k,1564) = lu(k,1564) - lu(k,801) * lu(k,1545)
         lu(k,1569) = - lu(k,798) * lu(k,1566)
         lu(k,1572) = - lu(k,799) * lu(k,1566)
         lu(k,1581) = lu(k,1581) - lu(k,800) * lu(k,1566)
         lu(k,1585) = lu(k,1585) - lu(k,801) * lu(k,1566)
         lu(k,1663) = - lu(k,798) * lu(k,1657)
         lu(k,1665) = - lu(k,799) * lu(k,1657)
         lu(k,1678) = lu(k,1678) - lu(k,800) * lu(k,1657)
         lu(k,1682) = lu(k,1682) - lu(k,801) * lu(k,1657)
         lu(k,1720) = - lu(k,798) * lu(k,1713)
         lu(k,1724) = - lu(k,799) * lu(k,1713)
         lu(k,1740) = lu(k,1740) - lu(k,800) * lu(k,1713)
         lu(k,1744) = lu(k,1744) - lu(k,801) * lu(k,1713)
         lu(k,1776) = - lu(k,798) * lu(k,1769)
         lu(k,1778) = - lu(k,799) * lu(k,1769)
         lu(k,1790) = lu(k,1790) - lu(k,800) * lu(k,1769)
         lu(k,1794) = lu(k,1794) - lu(k,801) * lu(k,1769)
         lu(k,1819) = - lu(k,798) * lu(k,1813)
         lu(k,1823) = - lu(k,799) * lu(k,1813)
         lu(k,1838) = lu(k,1838) - lu(k,800) * lu(k,1813)
         lu(k,1842) = lu(k,1842) - lu(k,801) * lu(k,1813)
         lu(k,3370) = lu(k,3370) - lu(k,798) * lu(k,3351)
         lu(k,3379) = lu(k,3379) - lu(k,799) * lu(k,3351)
         lu(k,3426) = lu(k,3426) - lu(k,800) * lu(k,3351)
         lu(k,3432) = lu(k,3432) - lu(k,801) * lu(k,3351)
         lu(k,3689) = lu(k,3689) - lu(k,798) * lu(k,3628)
         lu(k,3699) = lu(k,3699) - lu(k,799) * lu(k,3628)
         lu(k,3746) = lu(k,3746) - lu(k,800) * lu(k,3628)
         lu(k,3752) = lu(k,3752) - lu(k,801) * lu(k,3628)
      end do
      end subroutine lu_fac17
      subroutine lu_fac18( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,802) = 1._r8 / lu(k,802)
         lu(k,803) = lu(k,803) * lu(k,802)
         lu(k,804) = lu(k,804) * lu(k,802)
         lu(k,805) = lu(k,805) * lu(k,802)
         lu(k,806) = lu(k,806) * lu(k,802)
         lu(k,1432) = - lu(k,803) * lu(k,1428)
         lu(k,1438) = - lu(k,804) * lu(k,1428)
         lu(k,1455) = lu(k,1455) - lu(k,805) * lu(k,1428)
         lu(k,1459) = lu(k,1459) - lu(k,806) * lu(k,1428)
         lu(k,1716) = - lu(k,803) * lu(k,1714)
         lu(k,1719) = - lu(k,804) * lu(k,1714)
         lu(k,1740) = lu(k,1740) - lu(k,805) * lu(k,1714)
         lu(k,1744) = lu(k,1744) - lu(k,806) * lu(k,1714)
         lu(k,1816) = - lu(k,803) * lu(k,1814)
         lu(k,1818) = - lu(k,804) * lu(k,1814)
         lu(k,1838) = lu(k,1838) - lu(k,805) * lu(k,1814)
         lu(k,1842) = lu(k,1842) - lu(k,806) * lu(k,1814)
         lu(k,1881) = lu(k,1881) - lu(k,803) * lu(k,1879)
         lu(k,1884) = - lu(k,804) * lu(k,1879)
         lu(k,1906) = lu(k,1906) - lu(k,805) * lu(k,1879)
         lu(k,1910) = lu(k,1910) - lu(k,806) * lu(k,1879)
         lu(k,1915) = - lu(k,803) * lu(k,1912)
         lu(k,1920) = - lu(k,804) * lu(k,1912)
         lu(k,1938) = lu(k,1938) - lu(k,805) * lu(k,1912)
         lu(k,1942) = lu(k,1942) - lu(k,806) * lu(k,1912)
         lu(k,1949) = - lu(k,803) * lu(k,1946)
         lu(k,1954) = - lu(k,804) * lu(k,1946)
         lu(k,1972) = lu(k,1972) - lu(k,805) * lu(k,1946)
         lu(k,1976) = lu(k,1976) - lu(k,806) * lu(k,1946)
         lu(k,2816) = - lu(k,803) * lu(k,2789)
         lu(k,2830) = lu(k,2830) - lu(k,804) * lu(k,2789)
         lu(k,2889) = lu(k,2889) - lu(k,805) * lu(k,2789)
         lu(k,2895) = lu(k,2895) - lu(k,806) * lu(k,2789)
         lu(k,3669) = lu(k,3669) - lu(k,803) * lu(k,3629)
         lu(k,3685) = lu(k,3685) - lu(k,804) * lu(k,3629)
         lu(k,3746) = lu(k,3746) - lu(k,805) * lu(k,3629)
         lu(k,3752) = lu(k,3752) - lu(k,806) * lu(k,3629)
         lu(k,807) = 1._r8 / lu(k,807)
         lu(k,808) = lu(k,808) * lu(k,807)
         lu(k,809) = lu(k,809) * lu(k,807)
         lu(k,810) = lu(k,810) * lu(k,807)
         lu(k,811) = lu(k,811) * lu(k,807)
         lu(k,1263) = - lu(k,808) * lu(k,1253)
         lu(k,1264) = - lu(k,809) * lu(k,1253)
         lu(k,1267) = lu(k,1267) - lu(k,810) * lu(k,1253)
         lu(k,1269) = lu(k,1269) - lu(k,811) * lu(k,1253)
         lu(k,1448) = lu(k,1448) - lu(k,808) * lu(k,1429)
         lu(k,1451) = - lu(k,809) * lu(k,1429)
         lu(k,1456) = lu(k,1456) - lu(k,810) * lu(k,1429)
         lu(k,1459) = lu(k,1459) - lu(k,811) * lu(k,1429)
         lu(k,1671) = lu(k,1671) - lu(k,808) * lu(k,1658)
         lu(k,1675) = lu(k,1675) - lu(k,809) * lu(k,1658)
         lu(k,1679) = lu(k,1679) - lu(k,810) * lu(k,1658)
         lu(k,1682) = lu(k,1682) - lu(k,811) * lu(k,1658)
         lu(k,1783) = lu(k,1783) - lu(k,808) * lu(k,1770)
         lu(k,1787) = lu(k,1787) - lu(k,809) * lu(k,1770)
         lu(k,1791) = lu(k,1791) - lu(k,810) * lu(k,1770)
         lu(k,1794) = lu(k,1794) - lu(k,811) * lu(k,1770)
         lu(k,2853) = lu(k,2853) - lu(k,808) * lu(k,2790)
         lu(k,2882) = lu(k,2882) - lu(k,809) * lu(k,2790)
         lu(k,2891) = lu(k,2891) - lu(k,810) * lu(k,2790)
         lu(k,2895) = lu(k,2895) - lu(k,811) * lu(k,2790)
         lu(k,2955) = lu(k,2955) - lu(k,808) * lu(k,2915)
         lu(k,2983) = lu(k,2983) - lu(k,809) * lu(k,2915)
         lu(k,2992) = lu(k,2992) - lu(k,810) * lu(k,2915)
         lu(k,2996) = lu(k,2996) - lu(k,811) * lu(k,2915)
         lu(k,3249) = lu(k,3249) - lu(k,808) * lu(k,3181)
         lu(k,3278) = lu(k,3278) - lu(k,809) * lu(k,3181)
         lu(k,3287) = lu(k,3287) - lu(k,810) * lu(k,3181)
         lu(k,3291) = lu(k,3291) - lu(k,811) * lu(k,3181)
         lu(k,3711) = lu(k,3711) - lu(k,808) * lu(k,3630)
         lu(k,3739) = lu(k,3739) - lu(k,809) * lu(k,3630)
         lu(k,3748) = lu(k,3748) - lu(k,810) * lu(k,3630)
         lu(k,3752) = lu(k,3752) - lu(k,811) * lu(k,3630)
         lu(k,812) = 1._r8 / lu(k,812)
         lu(k,813) = lu(k,813) * lu(k,812)
         lu(k,814) = lu(k,814) * lu(k,812)
         lu(k,815) = lu(k,815) * lu(k,812)
         lu(k,816) = lu(k,816) * lu(k,812)
         lu(k,817) = lu(k,817) * lu(k,812)
         lu(k,818) = lu(k,818) * lu(k,812)
         lu(k,819) = lu(k,819) * lu(k,812)
         lu(k,820) = lu(k,820) * lu(k,812)
         lu(k,2813) = lu(k,2813) - lu(k,813) * lu(k,2791)
         lu(k,2836) = lu(k,2836) - lu(k,814) * lu(k,2791)
         lu(k,2853) = lu(k,2853) - lu(k,815) * lu(k,2791)
         lu(k,2885) = lu(k,2885) - lu(k,816) * lu(k,2791)
         lu(k,2889) = lu(k,2889) - lu(k,817) * lu(k,2791)
         lu(k,2892) = lu(k,2892) - lu(k,818) * lu(k,2791)
         lu(k,2894) = lu(k,2894) - lu(k,819) * lu(k,2791)
         lu(k,2895) = lu(k,2895) - lu(k,820) * lu(k,2791)
         lu(k,3206) = lu(k,3206) - lu(k,813) * lu(k,3182)
         lu(k,3232) = lu(k,3232) - lu(k,814) * lu(k,3182)
         lu(k,3249) = lu(k,3249) - lu(k,815) * lu(k,3182)
         lu(k,3281) = lu(k,3281) - lu(k,816) * lu(k,3182)
         lu(k,3285) = lu(k,3285) - lu(k,817) * lu(k,3182)
         lu(k,3288) = lu(k,3288) - lu(k,818) * lu(k,3182)
         lu(k,3290) = lu(k,3290) - lu(k,819) * lu(k,3182)
         lu(k,3291) = lu(k,3291) - lu(k,820) * lu(k,3182)
         lu(k,3486) = lu(k,3486) - lu(k,813) * lu(k,3482)
         lu(k,3490) = lu(k,3490) - lu(k,814) * lu(k,3482)
         lu(k,3493) = lu(k,3493) - lu(k,815) * lu(k,3482)
         lu(k,3502) = lu(k,3502) - lu(k,816) * lu(k,3482)
         lu(k,3506) = lu(k,3506) - lu(k,817) * lu(k,3482)
         lu(k,3509) = lu(k,3509) - lu(k,818) * lu(k,3482)
         lu(k,3511) = lu(k,3511) - lu(k,819) * lu(k,3482)
         lu(k,3512) = lu(k,3512) - lu(k,820) * lu(k,3482)
         lu(k,3664) = lu(k,3664) - lu(k,813) * lu(k,3631)
         lu(k,3694) = lu(k,3694) - lu(k,814) * lu(k,3631)
         lu(k,3711) = lu(k,3711) - lu(k,815) * lu(k,3631)
         lu(k,3742) = lu(k,3742) - lu(k,816) * lu(k,3631)
         lu(k,3746) = lu(k,3746) - lu(k,817) * lu(k,3631)
         lu(k,3749) = lu(k,3749) - lu(k,818) * lu(k,3631)
         lu(k,3751) = lu(k,3751) - lu(k,819) * lu(k,3631)
         lu(k,3752) = lu(k,3752) - lu(k,820) * lu(k,3631)
         lu(k,822) = 1._r8 / lu(k,822)
         lu(k,823) = lu(k,823) * lu(k,822)
         lu(k,824) = lu(k,824) * lu(k,822)
         lu(k,825) = lu(k,825) * lu(k,822)
         lu(k,826) = lu(k,826) * lu(k,822)
         lu(k,827) = lu(k,827) * lu(k,822)
         lu(k,828) = lu(k,828) * lu(k,822)
         lu(k,829) = lu(k,829) * lu(k,822)
         lu(k,830) = lu(k,830) * lu(k,822)
         lu(k,1198) = lu(k,1198) - lu(k,823) * lu(k,1195)
         lu(k,1201) = - lu(k,824) * lu(k,1195)
         lu(k,1202) = - lu(k,825) * lu(k,1195)
         lu(k,1205) = lu(k,1205) - lu(k,826) * lu(k,1195)
         lu(k,1206) = lu(k,1206) - lu(k,827) * lu(k,1195)
         lu(k,1208) = - lu(k,828) * lu(k,1195)
         lu(k,1209) = lu(k,1209) - lu(k,829) * lu(k,1195)
         lu(k,1210) = lu(k,1210) - lu(k,830) * lu(k,1195)
         lu(k,2820) = lu(k,2820) - lu(k,823) * lu(k,2792)
         lu(k,2841) = lu(k,2841) - lu(k,824) * lu(k,2792)
         lu(k,2885) = lu(k,2885) - lu(k,825) * lu(k,2792)
         lu(k,2889) = lu(k,2889) - lu(k,826) * lu(k,2792)
         lu(k,2891) = lu(k,2891) - lu(k,827) * lu(k,2792)
         lu(k,2894) = lu(k,2894) - lu(k,828) * lu(k,2792)
         lu(k,2895) = lu(k,2895) - lu(k,829) * lu(k,2792)
         lu(k,2899) = lu(k,2899) - lu(k,830) * lu(k,2792)
         lu(k,3213) = lu(k,3213) - lu(k,823) * lu(k,3183)
         lu(k,3237) = lu(k,3237) - lu(k,824) * lu(k,3183)
         lu(k,3281) = lu(k,3281) - lu(k,825) * lu(k,3183)
         lu(k,3285) = lu(k,3285) - lu(k,826) * lu(k,3183)
         lu(k,3287) = lu(k,3287) - lu(k,827) * lu(k,3183)
         lu(k,3290) = lu(k,3290) - lu(k,828) * lu(k,3183)
         lu(k,3291) = lu(k,3291) - lu(k,829) * lu(k,3183)
         lu(k,3295) = lu(k,3295) - lu(k,830) * lu(k,3183)
         lu(k,3674) = lu(k,3674) - lu(k,823) * lu(k,3632)
         lu(k,3699) = lu(k,3699) - lu(k,824) * lu(k,3632)
         lu(k,3742) = lu(k,3742) - lu(k,825) * lu(k,3632)
         lu(k,3746) = lu(k,3746) - lu(k,826) * lu(k,3632)
         lu(k,3748) = lu(k,3748) - lu(k,827) * lu(k,3632)
         lu(k,3751) = lu(k,3751) - lu(k,828) * lu(k,3632)
         lu(k,3752) = lu(k,3752) - lu(k,829) * lu(k,3632)
         lu(k,3756) = lu(k,3756) - lu(k,830) * lu(k,3632)
         lu(k,834) = 1._r8 / lu(k,834)
         lu(k,835) = lu(k,835) * lu(k,834)
         lu(k,836) = lu(k,836) * lu(k,834)
         lu(k,837) = lu(k,837) * lu(k,834)
         lu(k,838) = lu(k,838) * lu(k,834)
         lu(k,839) = lu(k,839) * lu(k,834)
         lu(k,840) = lu(k,840) * lu(k,834)
         lu(k,841) = lu(k,841) * lu(k,834)
         lu(k,842) = lu(k,842) * lu(k,834)
         lu(k,2176) = - lu(k,835) * lu(k,2175)
         lu(k,2178) = - lu(k,836) * lu(k,2175)
         lu(k,2180) = - lu(k,837) * lu(k,2175)
         lu(k,2186) = - lu(k,838) * lu(k,2175)
         lu(k,2188) = lu(k,2188) - lu(k,839) * lu(k,2175)
         lu(k,2189) = - lu(k,840) * lu(k,2175)
         lu(k,2190) = - lu(k,841) * lu(k,2175)
         lu(k,2191) = lu(k,2191) - lu(k,842) * lu(k,2175)
         lu(k,2795) = lu(k,2795) - lu(k,835) * lu(k,2793)
         lu(k,2844) = lu(k,2844) - lu(k,836) * lu(k,2793)
         lu(k,2867) = lu(k,2867) - lu(k,837) * lu(k,2793)
         lu(k,2885) = lu(k,2885) - lu(k,838) * lu(k,2793)
         lu(k,2889) = lu(k,2889) - lu(k,839) * lu(k,2793)
         lu(k,2891) = lu(k,2891) - lu(k,840) * lu(k,2793)
         lu(k,2894) = lu(k,2894) - lu(k,841) * lu(k,2793)
         lu(k,2895) = lu(k,2895) - lu(k,842) * lu(k,2793)
         lu(k,3186) = lu(k,3186) - lu(k,835) * lu(k,3184)
         lu(k,3240) = lu(k,3240) - lu(k,836) * lu(k,3184)
         lu(k,3263) = lu(k,3263) - lu(k,837) * lu(k,3184)
         lu(k,3281) = lu(k,3281) - lu(k,838) * lu(k,3184)
         lu(k,3285) = lu(k,3285) - lu(k,839) * lu(k,3184)
         lu(k,3287) = lu(k,3287) - lu(k,840) * lu(k,3184)
         lu(k,3290) = lu(k,3290) - lu(k,841) * lu(k,3184)
         lu(k,3291) = lu(k,3291) - lu(k,842) * lu(k,3184)
         lu(k,3636) = lu(k,3636) - lu(k,835) * lu(k,3633)
         lu(k,3702) = lu(k,3702) - lu(k,836) * lu(k,3633)
         lu(k,3724) = lu(k,3724) - lu(k,837) * lu(k,3633)
         lu(k,3742) = lu(k,3742) - lu(k,838) * lu(k,3633)
         lu(k,3746) = lu(k,3746) - lu(k,839) * lu(k,3633)
         lu(k,3748) = lu(k,3748) - lu(k,840) * lu(k,3633)
         lu(k,3751) = lu(k,3751) - lu(k,841) * lu(k,3633)
         lu(k,3752) = lu(k,3752) - lu(k,842) * lu(k,3633)
      end do
      end subroutine lu_fac18
      subroutine lu_fac19( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,843) = 1._r8 / lu(k,843)
         lu(k,844) = lu(k,844) * lu(k,843)
         lu(k,845) = lu(k,845) * lu(k,843)
         lu(k,846) = lu(k,846) * lu(k,843)
         lu(k,847) = lu(k,847) * lu(k,843)
         lu(k,848) = lu(k,848) * lu(k,843)
         lu(k,849) = lu(k,849) * lu(k,843)
         lu(k,850) = lu(k,850) * lu(k,843)
         lu(k,851) = lu(k,851) * lu(k,843)
         lu(k,2388) = lu(k,2388) - lu(k,844) * lu(k,2384)
         lu(k,2389) = - lu(k,845) * lu(k,2384)
         lu(k,2390) = - lu(k,846) * lu(k,2384)
         lu(k,2393) = lu(k,2393) - lu(k,847) * lu(k,2384)
         lu(k,2401) = - lu(k,848) * lu(k,2384)
         lu(k,2404) = lu(k,2404) - lu(k,849) * lu(k,2384)
         lu(k,2407) = lu(k,2407) - lu(k,850) * lu(k,2384)
         lu(k,2408) = lu(k,2408) - lu(k,851) * lu(k,2384)
         lu(k,2839) = lu(k,2839) - lu(k,844) * lu(k,2794)
         lu(k,2840) = lu(k,2840) - lu(k,845) * lu(k,2794)
         lu(k,2866) = lu(k,2866) - lu(k,846) * lu(k,2794)
         lu(k,2875) = lu(k,2875) - lu(k,847) * lu(k,2794)
         lu(k,2885) = lu(k,2885) - lu(k,848) * lu(k,2794)
         lu(k,2889) = lu(k,2889) - lu(k,849) * lu(k,2794)
         lu(k,2894) = lu(k,2894) - lu(k,850) * lu(k,2794)
         lu(k,2895) = lu(k,2895) - lu(k,851) * lu(k,2794)
         lu(k,3235) = lu(k,3235) - lu(k,844) * lu(k,3185)
         lu(k,3236) = lu(k,3236) - lu(k,845) * lu(k,3185)
         lu(k,3262) = lu(k,3262) - lu(k,846) * lu(k,3185)
         lu(k,3271) = lu(k,3271) - lu(k,847) * lu(k,3185)
         lu(k,3281) = lu(k,3281) - lu(k,848) * lu(k,3185)
         lu(k,3285) = lu(k,3285) - lu(k,849) * lu(k,3185)
         lu(k,3290) = lu(k,3290) - lu(k,850) * lu(k,3185)
         lu(k,3291) = lu(k,3291) - lu(k,851) * lu(k,3185)
         lu(k,3697) = lu(k,3697) - lu(k,844) * lu(k,3634)
         lu(k,3698) = lu(k,3698) - lu(k,845) * lu(k,3634)
         lu(k,3723) = lu(k,3723) - lu(k,846) * lu(k,3634)
         lu(k,3732) = lu(k,3732) - lu(k,847) * lu(k,3634)
         lu(k,3742) = lu(k,3742) - lu(k,848) * lu(k,3634)
         lu(k,3746) = lu(k,3746) - lu(k,849) * lu(k,3634)
         lu(k,3751) = lu(k,3751) - lu(k,850) * lu(k,3634)
         lu(k,3752) = lu(k,3752) - lu(k,851) * lu(k,3634)
         lu(k,859) = 1._r8 / lu(k,859)
         lu(k,860) = lu(k,860) * lu(k,859)
         lu(k,861) = lu(k,861) * lu(k,859)
         lu(k,862) = lu(k,862) * lu(k,859)
         lu(k,863) = lu(k,863) * lu(k,859)
         lu(k,864) = lu(k,864) * lu(k,859)
         lu(k,865) = lu(k,865) * lu(k,859)
         lu(k,866) = lu(k,866) * lu(k,859)
         lu(k,867) = lu(k,867) * lu(k,859)
         lu(k,868) = lu(k,868) * lu(k,859)
         lu(k,869) = lu(k,869) * lu(k,859)
         lu(k,870) = lu(k,870) * lu(k,859)
         lu(k,2933) = lu(k,2933) - lu(k,860) * lu(k,2916)
         lu(k,2962) = - lu(k,861) * lu(k,2916)
         lu(k,2963) = - lu(k,862) * lu(k,2916)
         lu(k,2975) = lu(k,2975) - lu(k,863) * lu(k,2916)
         lu(k,2977) = lu(k,2977) - lu(k,864) * lu(k,2916)
         lu(k,2982) = lu(k,2982) - lu(k,865) * lu(k,2916)
         lu(k,2987) = lu(k,2987) - lu(k,866) * lu(k,2916)
         lu(k,2988) = lu(k,2988) - lu(k,867) * lu(k,2916)
         lu(k,2990) = lu(k,2990) - lu(k,868) * lu(k,2916)
         lu(k,2992) = lu(k,2992) - lu(k,869) * lu(k,2916)
         lu(k,2996) = lu(k,2996) - lu(k,870) * lu(k,2916)
         lu(k,3024) = - lu(k,860) * lu(k,3008)
         lu(k,3053) = lu(k,3053) - lu(k,861) * lu(k,3008)
         lu(k,3055) = lu(k,3055) - lu(k,862) * lu(k,3008)
         lu(k,3067) = lu(k,3067) - lu(k,863) * lu(k,3008)
         lu(k,3069) = lu(k,3069) - lu(k,864) * lu(k,3008)
         lu(k,3074) = lu(k,3074) - lu(k,865) * lu(k,3008)
         lu(k,3079) = lu(k,3079) - lu(k,866) * lu(k,3008)
         lu(k,3080) = lu(k,3080) - lu(k,867) * lu(k,3008)
         lu(k,3082) = lu(k,3082) - lu(k,868) * lu(k,3008)
         lu(k,3084) = lu(k,3084) - lu(k,869) * lu(k,3008)
         lu(k,3088) = lu(k,3088) - lu(k,870) * lu(k,3008)
         lu(k,3679) = lu(k,3679) - lu(k,860) * lu(k,3635)
         lu(k,3718) = - lu(k,861) * lu(k,3635)
         lu(k,3719) = lu(k,3719) - lu(k,862) * lu(k,3635)
         lu(k,3731) = lu(k,3731) - lu(k,863) * lu(k,3635)
         lu(k,3733) = lu(k,3733) - lu(k,864) * lu(k,3635)
         lu(k,3738) = lu(k,3738) - lu(k,865) * lu(k,3635)
         lu(k,3743) = lu(k,3743) - lu(k,866) * lu(k,3635)
         lu(k,3744) = lu(k,3744) - lu(k,867) * lu(k,3635)
         lu(k,3746) = lu(k,3746) - lu(k,868) * lu(k,3635)
         lu(k,3748) = lu(k,3748) - lu(k,869) * lu(k,3635)
         lu(k,3752) = lu(k,3752) - lu(k,870) * lu(k,3635)
         lu(k,871) = 1._r8 / lu(k,871)
         lu(k,872) = lu(k,872) * lu(k,871)
         lu(k,873) = lu(k,873) * lu(k,871)
         lu(k,874) = lu(k,874) * lu(k,871)
         lu(k,918) = - lu(k,872) * lu(k,916)
         lu(k,922) = lu(k,922) - lu(k,873) * lu(k,916)
         lu(k,924) = lu(k,924) - lu(k,874) * lu(k,916)
         lu(k,929) = - lu(k,872) * lu(k,925)
         lu(k,931) = lu(k,931) - lu(k,873) * lu(k,925)
         lu(k,933) = lu(k,933) - lu(k,874) * lu(k,925)
         lu(k,1146) = - lu(k,872) * lu(k,1142)
         lu(k,1150) = lu(k,1150) - lu(k,873) * lu(k,1142)
         lu(k,1152) = lu(k,1152) - lu(k,874) * lu(k,1142)
         lu(k,1589) = lu(k,1589) - lu(k,872) * lu(k,1587)
         lu(k,1595) = lu(k,1595) - lu(k,873) * lu(k,1587)
         lu(k,1597) = lu(k,1597) - lu(k,874) * lu(k,1587)
         lu(k,1602) = - lu(k,872) * lu(k,1599)
         lu(k,1608) = lu(k,1608) - lu(k,873) * lu(k,1599)
         lu(k,1610) = lu(k,1610) - lu(k,874) * lu(k,1599)
         lu(k,2177) = - lu(k,872) * lu(k,2176)
         lu(k,2188) = lu(k,2188) - lu(k,873) * lu(k,2176)
         lu(k,2191) = lu(k,2191) - lu(k,874) * lu(k,2176)
         lu(k,2207) = lu(k,2207) - lu(k,872) * lu(k,2203)
         lu(k,2227) = lu(k,2227) - lu(k,873) * lu(k,2203)
         lu(k,2231) = lu(k,2231) - lu(k,874) * lu(k,2203)
         lu(k,2417) = - lu(k,872) * lu(k,2413)
         lu(k,2431) = lu(k,2431) - lu(k,873) * lu(k,2413)
         lu(k,2435) = lu(k,2435) - lu(k,874) * lu(k,2413)
         lu(k,2831) = lu(k,2831) - lu(k,872) * lu(k,2795)
         lu(k,2889) = lu(k,2889) - lu(k,873) * lu(k,2795)
         lu(k,2895) = lu(k,2895) - lu(k,874) * lu(k,2795)
         lu(k,3227) = lu(k,3227) - lu(k,872) * lu(k,3186)
         lu(k,3285) = lu(k,3285) - lu(k,873) * lu(k,3186)
         lu(k,3291) = lu(k,3291) - lu(k,874) * lu(k,3186)
         lu(k,3688) = lu(k,3688) - lu(k,872) * lu(k,3636)
         lu(k,3746) = lu(k,3746) - lu(k,873) * lu(k,3636)
         lu(k,3752) = lu(k,3752) - lu(k,874) * lu(k,3636)
         lu(k,876) = 1._r8 / lu(k,876)
         lu(k,877) = lu(k,877) * lu(k,876)
         lu(k,878) = lu(k,878) * lu(k,876)
         lu(k,879) = lu(k,879) * lu(k,876)
         lu(k,880) = lu(k,880) * lu(k,876)
         lu(k,881) = lu(k,881) * lu(k,876)
         lu(k,882) = lu(k,882) * lu(k,876)
         lu(k,883) = lu(k,883) * lu(k,876)
         lu(k,884) = lu(k,884) * lu(k,876)
         lu(k,885) = lu(k,885) * lu(k,876)
         lu(k,886) = lu(k,886) * lu(k,876)
         lu(k,887) = lu(k,887) * lu(k,876)
         lu(k,2820) = lu(k,2820) - lu(k,877) * lu(k,2796)
         lu(k,2832) = lu(k,2832) - lu(k,878) * lu(k,2796)
         lu(k,2836) = lu(k,2836) - lu(k,879) * lu(k,2796)
         lu(k,2841) = lu(k,2841) - lu(k,880) * lu(k,2796)
         lu(k,2864) = lu(k,2864) - lu(k,881) * lu(k,2796)
         lu(k,2882) = lu(k,2882) - lu(k,882) * lu(k,2796)
         lu(k,2883) = lu(k,2883) - lu(k,883) * lu(k,2796)
         lu(k,2889) = lu(k,2889) - lu(k,884) * lu(k,2796)
         lu(k,2891) = lu(k,2891) - lu(k,885) * lu(k,2796)
         lu(k,2894) = lu(k,2894) - lu(k,886) * lu(k,2796)
         lu(k,2895) = lu(k,2895) - lu(k,887) * lu(k,2796)
         lu(k,3022) = lu(k,3022) - lu(k,877) * lu(k,3009)
         lu(k,3028) = - lu(k,878) * lu(k,3009)
         lu(k,3031) = lu(k,3031) - lu(k,879) * lu(k,3009)
         lu(k,3036) = lu(k,3036) - lu(k,880) * lu(k,3009)
         lu(k,3057) = lu(k,3057) - lu(k,881) * lu(k,3009)
         lu(k,3075) = lu(k,3075) - lu(k,882) * lu(k,3009)
         lu(k,3076) = lu(k,3076) - lu(k,883) * lu(k,3009)
         lu(k,3082) = lu(k,3082) - lu(k,884) * lu(k,3009)
         lu(k,3084) = lu(k,3084) - lu(k,885) * lu(k,3009)
         lu(k,3087) = lu(k,3087) - lu(k,886) * lu(k,3009)
         lu(k,3088) = lu(k,3088) - lu(k,887) * lu(k,3009)
         lu(k,3674) = lu(k,3674) - lu(k,877) * lu(k,3637)
         lu(k,3689) = lu(k,3689) - lu(k,878) * lu(k,3637)
         lu(k,3694) = lu(k,3694) - lu(k,879) * lu(k,3637)
         lu(k,3699) = lu(k,3699) - lu(k,880) * lu(k,3637)
         lu(k,3721) = lu(k,3721) - lu(k,881) * lu(k,3637)
         lu(k,3739) = lu(k,3739) - lu(k,882) * lu(k,3637)
         lu(k,3740) = lu(k,3740) - lu(k,883) * lu(k,3637)
         lu(k,3746) = lu(k,3746) - lu(k,884) * lu(k,3637)
         lu(k,3748) = lu(k,3748) - lu(k,885) * lu(k,3637)
         lu(k,3751) = lu(k,3751) - lu(k,886) * lu(k,3637)
         lu(k,3752) = lu(k,3752) - lu(k,887) * lu(k,3637)
      end do
      end subroutine lu_fac19
      subroutine lu_fac20( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,888) = 1._r8 / lu(k,888)
         lu(k,889) = lu(k,889) * lu(k,888)
         lu(k,890) = lu(k,890) * lu(k,888)
         lu(k,891) = lu(k,891) * lu(k,888)
         lu(k,892) = lu(k,892) * lu(k,888)
         lu(k,893) = lu(k,893) * lu(k,888)
         lu(k,894) = lu(k,894) * lu(k,888)
         lu(k,895) = lu(k,895) * lu(k,888)
         lu(k,1146) = lu(k,1146) - lu(k,889) * lu(k,1143)
         lu(k,1147) = - lu(k,890) * lu(k,1143)
         lu(k,1148) = - lu(k,891) * lu(k,1143)
         lu(k,1150) = lu(k,1150) - lu(k,892) * lu(k,1143)
         lu(k,1151) = lu(k,1151) - lu(k,893) * lu(k,1143)
         lu(k,1152) = lu(k,1152) - lu(k,894) * lu(k,1143)
         lu(k,1153) = - lu(k,895) * lu(k,1143)
         lu(k,2329) = lu(k,2329) - lu(k,889) * lu(k,2323)
         lu(k,2331) = - lu(k,890) * lu(k,2323)
         lu(k,2332) = lu(k,2332) - lu(k,891) * lu(k,2323)
         lu(k,2344) = lu(k,2344) - lu(k,892) * lu(k,2323)
         lu(k,2347) = lu(k,2347) - lu(k,893) * lu(k,2323)
         lu(k,2348) = lu(k,2348) - lu(k,894) * lu(k,2323)
         lu(k,2349) = - lu(k,895) * lu(k,2323)
         lu(k,2831) = lu(k,2831) - lu(k,889) * lu(k,2797)
         lu(k,2867) = lu(k,2867) - lu(k,890) * lu(k,2797)
         lu(k,2872) = lu(k,2872) - lu(k,891) * lu(k,2797)
         lu(k,2889) = lu(k,2889) - lu(k,892) * lu(k,2797)
         lu(k,2894) = lu(k,2894) - lu(k,893) * lu(k,2797)
         lu(k,2895) = lu(k,2895) - lu(k,894) * lu(k,2797)
         lu(k,2899) = lu(k,2899) - lu(k,895) * lu(k,2797)
         lu(k,3227) = lu(k,3227) - lu(k,889) * lu(k,3187)
         lu(k,3263) = lu(k,3263) - lu(k,890) * lu(k,3187)
         lu(k,3268) = lu(k,3268) - lu(k,891) * lu(k,3187)
         lu(k,3285) = lu(k,3285) - lu(k,892) * lu(k,3187)
         lu(k,3290) = lu(k,3290) - lu(k,893) * lu(k,3187)
         lu(k,3291) = lu(k,3291) - lu(k,894) * lu(k,3187)
         lu(k,3295) = lu(k,3295) - lu(k,895) * lu(k,3187)
         lu(k,3688) = lu(k,3688) - lu(k,889) * lu(k,3638)
         lu(k,3724) = lu(k,3724) - lu(k,890) * lu(k,3638)
         lu(k,3729) = lu(k,3729) - lu(k,891) * lu(k,3638)
         lu(k,3746) = lu(k,3746) - lu(k,892) * lu(k,3638)
         lu(k,3751) = lu(k,3751) - lu(k,893) * lu(k,3638)
         lu(k,3752) = lu(k,3752) - lu(k,894) * lu(k,3638)
         lu(k,3756) = lu(k,3756) - lu(k,895) * lu(k,3638)
         lu(k,897) = 1._r8 / lu(k,897)
         lu(k,898) = lu(k,898) * lu(k,897)
         lu(k,899) = lu(k,899) * lu(k,897)
         lu(k,900) = lu(k,900) * lu(k,897)
         lu(k,901) = lu(k,901) * lu(k,897)
         lu(k,902) = lu(k,902) * lu(k,897)
         lu(k,903) = lu(k,903) * lu(k,897)
         lu(k,904) = lu(k,904) * lu(k,897)
         lu(k,1416) = lu(k,1416) - lu(k,898) * lu(k,1415)
         lu(k,1417) = - lu(k,899) * lu(k,1415)
         lu(k,1418) = lu(k,1418) - lu(k,900) * lu(k,1415)
         lu(k,1419) = - lu(k,901) * lu(k,1415)
         lu(k,1421) = - lu(k,902) * lu(k,1415)
         lu(k,1423) = lu(k,1423) - lu(k,903) * lu(k,1415)
         lu(k,1426) = lu(k,1426) - lu(k,904) * lu(k,1415)
         lu(k,2716) = - lu(k,898) * lu(k,2715)
         lu(k,2717) = lu(k,2717) - lu(k,899) * lu(k,2715)
         lu(k,2718) = lu(k,2718) - lu(k,900) * lu(k,2715)
         lu(k,2719) = lu(k,2719) - lu(k,901) * lu(k,2715)
         lu(k,2721) = - lu(k,902) * lu(k,2715)
         lu(k,2724) = lu(k,2724) - lu(k,903) * lu(k,2715)
         lu(k,2727) = lu(k,2727) - lu(k,904) * lu(k,2715)
         lu(k,3098) = lu(k,3098) - lu(k,898) * lu(k,3096)
         lu(k,3100) = - lu(k,899) * lu(k,3096)
         lu(k,3101) = lu(k,3101) - lu(k,900) * lu(k,3096)
         lu(k,3104) = - lu(k,901) * lu(k,3096)
         lu(k,3109) = lu(k,3109) - lu(k,902) * lu(k,3096)
         lu(k,3112) = lu(k,3112) - lu(k,903) * lu(k,3096)
         lu(k,3116) = lu(k,3116) - lu(k,904) * lu(k,3096)
         lu(k,3686) = lu(k,3686) - lu(k,898) * lu(k,3639)
         lu(k,3740) = lu(k,3740) - lu(k,899) * lu(k,3639)
         lu(k,3741) = lu(k,3741) - lu(k,900) * lu(k,3639)
         lu(k,3744) = lu(k,3744) - lu(k,901) * lu(k,3639)
         lu(k,3749) = lu(k,3749) - lu(k,902) * lu(k,3639)
         lu(k,3752) = lu(k,3752) - lu(k,903) * lu(k,3639)
         lu(k,3756) = lu(k,3756) - lu(k,904) * lu(k,3639)
         lu(k,3843) = lu(k,3843) - lu(k,898) * lu(k,3841)
         lu(k,3846) = - lu(k,899) * lu(k,3841)
         lu(k,3847) = lu(k,3847) - lu(k,900) * lu(k,3841)
         lu(k,3850) = - lu(k,901) * lu(k,3841)
         lu(k,3855) = - lu(k,902) * lu(k,3841)
         lu(k,3858) = lu(k,3858) - lu(k,903) * lu(k,3841)
         lu(k,3862) = lu(k,3862) - lu(k,904) * lu(k,3841)
         lu(k,906) = 1._r8 / lu(k,906)
         lu(k,907) = lu(k,907) * lu(k,906)
         lu(k,908) = lu(k,908) * lu(k,906)
         lu(k,909) = lu(k,909) * lu(k,906)
         lu(k,910) = lu(k,910) * lu(k,906)
         lu(k,911) = lu(k,911) * lu(k,906)
         lu(k,912) = lu(k,912) * lu(k,906)
         lu(k,913) = lu(k,913) * lu(k,906)
         lu(k,3242) = lu(k,3242) - lu(k,907) * lu(k,3188)
         lu(k,3289) = lu(k,3289) - lu(k,908) * lu(k,3188)
         lu(k,3291) = lu(k,3291) - lu(k,909) * lu(k,3188)
         lu(k,3292) = lu(k,3292) - lu(k,910) * lu(k,3188)
         lu(k,3293) = lu(k,3293) - lu(k,911) * lu(k,3188)
         lu(k,3294) = lu(k,3294) - lu(k,912) * lu(k,3188)
         lu(k,3295) = lu(k,3295) - lu(k,913) * lu(k,3188)
         lu(k,3449) = lu(k,3449) - lu(k,907) * lu(k,3440)
         lu(k,3460) = lu(k,3460) - lu(k,908) * lu(k,3440)
         lu(k,3462) = lu(k,3462) - lu(k,909) * lu(k,3440)
         lu(k,3463) = lu(k,3463) - lu(k,910) * lu(k,3440)
         lu(k,3464) = lu(k,3464) - lu(k,911) * lu(k,3440)
         lu(k,3465) = lu(k,3465) - lu(k,912) * lu(k,3440)
         lu(k,3466) = - lu(k,913) * lu(k,3440)
         lu(k,3492) = lu(k,3492) - lu(k,907) * lu(k,3483)
         lu(k,3510) = lu(k,3510) - lu(k,908) * lu(k,3483)
         lu(k,3512) = lu(k,3512) - lu(k,909) * lu(k,3483)
         lu(k,3513) = - lu(k,910) * lu(k,3483)
         lu(k,3514) = lu(k,3514) - lu(k,911) * lu(k,3483)
         lu(k,3515) = - lu(k,912) * lu(k,3483)
         lu(k,3516) = lu(k,3516) - lu(k,913) * lu(k,3483)
         lu(k,3762) = lu(k,3762) - lu(k,907) * lu(k,3759)
         lu(k,3772) = lu(k,3772) - lu(k,908) * lu(k,3759)
         lu(k,3774) = lu(k,3774) - lu(k,909) * lu(k,3759)
         lu(k,3775) = lu(k,3775) - lu(k,910) * lu(k,3759)
         lu(k,3776) = - lu(k,911) * lu(k,3759)
         lu(k,3777) = lu(k,3777) - lu(k,912) * lu(k,3759)
         lu(k,3778) = lu(k,3778) - lu(k,913) * lu(k,3759)
         lu(k,3785) = lu(k,3785) - lu(k,907) * lu(k,3782)
         lu(k,3796) = lu(k,3796) - lu(k,908) * lu(k,3782)
         lu(k,3798) = lu(k,3798) - lu(k,909) * lu(k,3782)
         lu(k,3799) = - lu(k,910) * lu(k,3782)
         lu(k,3800) = lu(k,3800) - lu(k,911) * lu(k,3782)
         lu(k,3801) = lu(k,3801) - lu(k,912) * lu(k,3782)
         lu(k,3802) = - lu(k,913) * lu(k,3782)
         lu(k,917) = 1._r8 / lu(k,917)
         lu(k,918) = lu(k,918) * lu(k,917)
         lu(k,919) = lu(k,919) * lu(k,917)
         lu(k,920) = lu(k,920) * lu(k,917)
         lu(k,921) = lu(k,921) * lu(k,917)
         lu(k,922) = lu(k,922) * lu(k,917)
         lu(k,923) = lu(k,923) * lu(k,917)
         lu(k,924) = lu(k,924) * lu(k,917)
         lu(k,2095) = - lu(k,918) * lu(k,2093)
         lu(k,2097) = - lu(k,919) * lu(k,2093)
         lu(k,2098) = - lu(k,920) * lu(k,2093)
         lu(k,2107) = lu(k,2107) - lu(k,921) * lu(k,2093)
         lu(k,2109) = lu(k,2109) - lu(k,922) * lu(k,2093)
         lu(k,2112) = lu(k,2112) - lu(k,923) * lu(k,2093)
         lu(k,2113) = lu(k,2113) - lu(k,924) * lu(k,2093)
         lu(k,2265) = - lu(k,918) * lu(k,2263)
         lu(k,2269) = - lu(k,919) * lu(k,2263)
         lu(k,2270) = - lu(k,920) * lu(k,2263)
         lu(k,2283) = lu(k,2283) - lu(k,921) * lu(k,2263)
         lu(k,2285) = lu(k,2285) - lu(k,922) * lu(k,2263)
         lu(k,2288) = lu(k,2288) - lu(k,923) * lu(k,2263)
         lu(k,2289) = lu(k,2289) - lu(k,924) * lu(k,2263)
         lu(k,2831) = lu(k,2831) - lu(k,918) * lu(k,2798)
         lu(k,2866) = lu(k,2866) - lu(k,919) * lu(k,2798)
         lu(k,2867) = lu(k,2867) - lu(k,920) * lu(k,2798)
         lu(k,2885) = lu(k,2885) - lu(k,921) * lu(k,2798)
         lu(k,2889) = lu(k,2889) - lu(k,922) * lu(k,2798)
         lu(k,2894) = lu(k,2894) - lu(k,923) * lu(k,2798)
         lu(k,2895) = lu(k,2895) - lu(k,924) * lu(k,2798)
         lu(k,3227) = lu(k,3227) - lu(k,918) * lu(k,3189)
         lu(k,3262) = lu(k,3262) - lu(k,919) * lu(k,3189)
         lu(k,3263) = lu(k,3263) - lu(k,920) * lu(k,3189)
         lu(k,3281) = lu(k,3281) - lu(k,921) * lu(k,3189)
         lu(k,3285) = lu(k,3285) - lu(k,922) * lu(k,3189)
         lu(k,3290) = lu(k,3290) - lu(k,923) * lu(k,3189)
         lu(k,3291) = lu(k,3291) - lu(k,924) * lu(k,3189)
         lu(k,3688) = lu(k,3688) - lu(k,918) * lu(k,3640)
         lu(k,3723) = lu(k,3723) - lu(k,919) * lu(k,3640)
         lu(k,3724) = lu(k,3724) - lu(k,920) * lu(k,3640)
         lu(k,3742) = lu(k,3742) - lu(k,921) * lu(k,3640)
         lu(k,3746) = lu(k,3746) - lu(k,922) * lu(k,3640)
         lu(k,3751) = lu(k,3751) - lu(k,923) * lu(k,3640)
         lu(k,3752) = lu(k,3752) - lu(k,924) * lu(k,3640)
      end do
      end subroutine lu_fac20
      subroutine lu_fac21( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,926) = 1._r8 / lu(k,926)
         lu(k,927) = lu(k,927) * lu(k,926)
         lu(k,928) = lu(k,928) * lu(k,926)
         lu(k,929) = lu(k,929) * lu(k,926)
         lu(k,930) = lu(k,930) * lu(k,926)
         lu(k,931) = lu(k,931) * lu(k,926)
         lu(k,932) = lu(k,932) * lu(k,926)
         lu(k,933) = lu(k,933) * lu(k,926)
         lu(k,2294) = - lu(k,927) * lu(k,2293)
         lu(k,2296) = lu(k,2296) - lu(k,928) * lu(k,2293)
         lu(k,2299) = - lu(k,929) * lu(k,2293)
         lu(k,2315) = lu(k,2315) - lu(k,930) * lu(k,2293)
         lu(k,2317) = lu(k,2317) - lu(k,931) * lu(k,2293)
         lu(k,2320) = lu(k,2320) - lu(k,932) * lu(k,2293)
         lu(k,2321) = lu(k,2321) - lu(k,933) * lu(k,2293)
         lu(k,2353) = - lu(k,927) * lu(k,2352)
         lu(k,2355) = lu(k,2355) - lu(k,928) * lu(k,2352)
         lu(k,2358) = - lu(k,929) * lu(k,2352)
         lu(k,2376) = lu(k,2376) - lu(k,930) * lu(k,2352)
         lu(k,2378) = lu(k,2378) - lu(k,931) * lu(k,2352)
         lu(k,2381) = lu(k,2381) - lu(k,932) * lu(k,2352)
         lu(k,2382) = lu(k,2382) - lu(k,933) * lu(k,2352)
         lu(k,2806) = lu(k,2806) - lu(k,927) * lu(k,2799)
         lu(k,2812) = lu(k,2812) - lu(k,928) * lu(k,2799)
         lu(k,2831) = lu(k,2831) - lu(k,929) * lu(k,2799)
         lu(k,2885) = lu(k,2885) - lu(k,930) * lu(k,2799)
         lu(k,2889) = lu(k,2889) - lu(k,931) * lu(k,2799)
         lu(k,2894) = lu(k,2894) - lu(k,932) * lu(k,2799)
         lu(k,2895) = lu(k,2895) - lu(k,933) * lu(k,2799)
         lu(k,3196) = lu(k,3196) - lu(k,927) * lu(k,3190)
         lu(k,3205) = lu(k,3205) - lu(k,928) * lu(k,3190)
         lu(k,3227) = lu(k,3227) - lu(k,929) * lu(k,3190)
         lu(k,3281) = lu(k,3281) - lu(k,930) * lu(k,3190)
         lu(k,3285) = lu(k,3285) - lu(k,931) * lu(k,3190)
         lu(k,3290) = lu(k,3290) - lu(k,932) * lu(k,3190)
         lu(k,3291) = lu(k,3291) - lu(k,933) * lu(k,3190)
         lu(k,3650) = lu(k,3650) - lu(k,927) * lu(k,3641)
         lu(k,3661) = lu(k,3661) - lu(k,928) * lu(k,3641)
         lu(k,3688) = lu(k,3688) - lu(k,929) * lu(k,3641)
         lu(k,3742) = lu(k,3742) - lu(k,930) * lu(k,3641)
         lu(k,3746) = lu(k,3746) - lu(k,931) * lu(k,3641)
         lu(k,3751) = lu(k,3751) - lu(k,932) * lu(k,3641)
         lu(k,3752) = lu(k,3752) - lu(k,933) * lu(k,3641)
         lu(k,941) = 1._r8 / lu(k,941)
         lu(k,942) = lu(k,942) * lu(k,941)
         lu(k,943) = lu(k,943) * lu(k,941)
         lu(k,944) = lu(k,944) * lu(k,941)
         lu(k,945) = lu(k,945) * lu(k,941)
         lu(k,946) = lu(k,946) * lu(k,941)
         lu(k,947) = lu(k,947) * lu(k,941)
         lu(k,948) = lu(k,948) * lu(k,941)
         lu(k,949) = lu(k,949) * lu(k,941)
         lu(k,950) = lu(k,950) * lu(k,941)
         lu(k,951) = lu(k,951) * lu(k,941)
         lu(k,952) = lu(k,952) * lu(k,941)
         lu(k,953) = lu(k,953) * lu(k,941)
         lu(k,2919) = lu(k,2919) - lu(k,942) * lu(k,2917)
         lu(k,2921) = lu(k,2921) - lu(k,943) * lu(k,2917)
         lu(k,2922) = lu(k,2922) - lu(k,944) * lu(k,2917)
         lu(k,2923) = lu(k,2923) - lu(k,945) * lu(k,2917)
         lu(k,2933) = lu(k,2933) - lu(k,946) * lu(k,2917)
         lu(k,2970) = - lu(k,947) * lu(k,2917)
         lu(k,2973) = - lu(k,948) * lu(k,2917)
         lu(k,2980) = lu(k,2980) - lu(k,949) * lu(k,2917)
         lu(k,2987) = lu(k,2987) - lu(k,950) * lu(k,2917)
         lu(k,2988) = lu(k,2988) - lu(k,951) * lu(k,2917)
         lu(k,2992) = lu(k,2992) - lu(k,952) * lu(k,2917)
         lu(k,2996) = lu(k,2996) - lu(k,953) * lu(k,2917)
         lu(k,3012) = lu(k,3012) - lu(k,942) * lu(k,3010)
         lu(k,3014) = - lu(k,943) * lu(k,3010)
         lu(k,3015) = - lu(k,944) * lu(k,3010)
         lu(k,3016) = - lu(k,945) * lu(k,3010)
         lu(k,3024) = lu(k,3024) - lu(k,946) * lu(k,3010)
         lu(k,3062) = lu(k,3062) - lu(k,947) * lu(k,3010)
         lu(k,3065) = lu(k,3065) - lu(k,948) * lu(k,3010)
         lu(k,3072) = lu(k,3072) - lu(k,949) * lu(k,3010)
         lu(k,3079) = lu(k,3079) - lu(k,950) * lu(k,3010)
         lu(k,3080) = lu(k,3080) - lu(k,951) * lu(k,3010)
         lu(k,3084) = lu(k,3084) - lu(k,952) * lu(k,3010)
         lu(k,3088) = lu(k,3088) - lu(k,953) * lu(k,3010)
         lu(k,3646) = lu(k,3646) - lu(k,942) * lu(k,3642)
         lu(k,3657) = lu(k,3657) - lu(k,943) * lu(k,3642)
         lu(k,3658) = lu(k,3658) - lu(k,944) * lu(k,3642)
         lu(k,3659) = lu(k,3659) - lu(k,945) * lu(k,3642)
         lu(k,3679) = lu(k,3679) - lu(k,946) * lu(k,3642)
         lu(k,3726) = lu(k,3726) - lu(k,947) * lu(k,3642)
         lu(k,3729) = lu(k,3729) - lu(k,948) * lu(k,3642)
         lu(k,3736) = lu(k,3736) - lu(k,949) * lu(k,3642)
         lu(k,3743) = lu(k,3743) - lu(k,950) * lu(k,3642)
         lu(k,3744) = lu(k,3744) - lu(k,951) * lu(k,3642)
         lu(k,3748) = lu(k,3748) - lu(k,952) * lu(k,3642)
         lu(k,3752) = lu(k,3752) - lu(k,953) * lu(k,3642)
         lu(k,961) = 1._r8 / lu(k,961)
         lu(k,962) = lu(k,962) * lu(k,961)
         lu(k,963) = lu(k,963) * lu(k,961)
         lu(k,964) = lu(k,964) * lu(k,961)
         lu(k,965) = lu(k,965) * lu(k,961)
         lu(k,966) = lu(k,966) * lu(k,961)
         lu(k,967) = lu(k,967) * lu(k,961)
         lu(k,968) = lu(k,968) * lu(k,961)
         lu(k,969) = lu(k,969) * lu(k,961)
         lu(k,970) = lu(k,970) * lu(k,961)
         lu(k,971) = lu(k,971) * lu(k,961)
         lu(k,972) = lu(k,972) * lu(k,961)
         lu(k,973) = lu(k,973) * lu(k,961)
         lu(k,2933) = lu(k,2933) - lu(k,962) * lu(k,2918)
         lu(k,2966) = - lu(k,963) * lu(k,2918)
         lu(k,2972) = - lu(k,964) * lu(k,2918)
         lu(k,2976) = lu(k,2976) - lu(k,965) * lu(k,2918)
         lu(k,2977) = lu(k,2977) - lu(k,966) * lu(k,2918)
         lu(k,2981) = lu(k,2981) - lu(k,967) * lu(k,2918)
         lu(k,2982) = lu(k,2982) - lu(k,968) * lu(k,2918)
         lu(k,2983) = lu(k,2983) - lu(k,969) * lu(k,2918)
         lu(k,2987) = lu(k,2987) - lu(k,970) * lu(k,2918)
         lu(k,2988) = lu(k,2988) - lu(k,971) * lu(k,2918)
         lu(k,2992) = lu(k,2992) - lu(k,972) * lu(k,2918)
         lu(k,2996) = lu(k,2996) - lu(k,973) * lu(k,2918)
         lu(k,3024) = lu(k,3024) - lu(k,962) * lu(k,3011)
         lu(k,3058) = lu(k,3058) - lu(k,963) * lu(k,3011)
         lu(k,3064) = lu(k,3064) - lu(k,964) * lu(k,3011)
         lu(k,3068) = lu(k,3068) - lu(k,965) * lu(k,3011)
         lu(k,3069) = lu(k,3069) - lu(k,966) * lu(k,3011)
         lu(k,3073) = lu(k,3073) - lu(k,967) * lu(k,3011)
         lu(k,3074) = lu(k,3074) - lu(k,968) * lu(k,3011)
         lu(k,3075) = lu(k,3075) - lu(k,969) * lu(k,3011)
         lu(k,3079) = lu(k,3079) - lu(k,970) * lu(k,3011)
         lu(k,3080) = lu(k,3080) - lu(k,971) * lu(k,3011)
         lu(k,3084) = lu(k,3084) - lu(k,972) * lu(k,3011)
         lu(k,3088) = lu(k,3088) - lu(k,973) * lu(k,3011)
         lu(k,3679) = lu(k,3679) - lu(k,962) * lu(k,3643)
         lu(k,3722) = lu(k,3722) - lu(k,963) * lu(k,3643)
         lu(k,3728) = - lu(k,964) * lu(k,3643)
         lu(k,3732) = lu(k,3732) - lu(k,965) * lu(k,3643)
         lu(k,3733) = lu(k,3733) - lu(k,966) * lu(k,3643)
         lu(k,3737) = lu(k,3737) - lu(k,967) * lu(k,3643)
         lu(k,3738) = lu(k,3738) - lu(k,968) * lu(k,3643)
         lu(k,3739) = lu(k,3739) - lu(k,969) * lu(k,3643)
         lu(k,3743) = lu(k,3743) - lu(k,970) * lu(k,3643)
         lu(k,3744) = lu(k,3744) - lu(k,971) * lu(k,3643)
         lu(k,3748) = lu(k,3748) - lu(k,972) * lu(k,3643)
         lu(k,3752) = lu(k,3752) - lu(k,973) * lu(k,3643)
         lu(k,975) = 1._r8 / lu(k,975)
         lu(k,976) = lu(k,976) * lu(k,975)
         lu(k,977) = lu(k,977) * lu(k,975)
         lu(k,978) = lu(k,978) * lu(k,975)
         lu(k,979) = lu(k,979) * lu(k,975)
         lu(k,980) = lu(k,980) * lu(k,975)
         lu(k,981) = lu(k,981) * lu(k,975)
         lu(k,982) = lu(k,982) * lu(k,975)
         lu(k,983) = lu(k,983) * lu(k,975)
         lu(k,984) = lu(k,984) * lu(k,975)
         lu(k,2820) = lu(k,2820) - lu(k,976) * lu(k,2800)
         lu(k,2864) = lu(k,2864) - lu(k,977) * lu(k,2800)
         lu(k,2885) = lu(k,2885) - lu(k,978) * lu(k,2800)
         lu(k,2889) = lu(k,2889) - lu(k,979) * lu(k,2800)
         lu(k,2891) = lu(k,2891) - lu(k,980) * lu(k,2800)
         lu(k,2892) = lu(k,2892) - lu(k,981) * lu(k,2800)
         lu(k,2894) = lu(k,2894) - lu(k,982) * lu(k,2800)
         lu(k,2895) = lu(k,2895) - lu(k,983) * lu(k,2800)
         lu(k,2899) = lu(k,2899) - lu(k,984) * lu(k,2800)
         lu(k,3213) = lu(k,3213) - lu(k,976) * lu(k,3191)
         lu(k,3260) = lu(k,3260) - lu(k,977) * lu(k,3191)
         lu(k,3281) = lu(k,3281) - lu(k,978) * lu(k,3191)
         lu(k,3285) = lu(k,3285) - lu(k,979) * lu(k,3191)
         lu(k,3287) = lu(k,3287) - lu(k,980) * lu(k,3191)
         lu(k,3288) = lu(k,3288) - lu(k,981) * lu(k,3191)
         lu(k,3290) = lu(k,3290) - lu(k,982) * lu(k,3191)
         lu(k,3291) = lu(k,3291) - lu(k,983) * lu(k,3191)
         lu(k,3295) = lu(k,3295) - lu(k,984) * lu(k,3191)
         lu(k,3359) = lu(k,3359) - lu(k,976) * lu(k,3352)
         lu(k,3401) = lu(k,3401) - lu(k,977) * lu(k,3352)
         lu(k,3422) = lu(k,3422) - lu(k,978) * lu(k,3352)
         lu(k,3426) = lu(k,3426) - lu(k,979) * lu(k,3352)
         lu(k,3428) = lu(k,3428) - lu(k,980) * lu(k,3352)
         lu(k,3429) = lu(k,3429) - lu(k,981) * lu(k,3352)
         lu(k,3431) = lu(k,3431) - lu(k,982) * lu(k,3352)
         lu(k,3432) = lu(k,3432) - lu(k,983) * lu(k,3352)
         lu(k,3436) = lu(k,3436) - lu(k,984) * lu(k,3352)
         lu(k,3674) = lu(k,3674) - lu(k,976) * lu(k,3644)
         lu(k,3721) = lu(k,3721) - lu(k,977) * lu(k,3644)
         lu(k,3742) = lu(k,3742) - lu(k,978) * lu(k,3644)
         lu(k,3746) = lu(k,3746) - lu(k,979) * lu(k,3644)
         lu(k,3748) = lu(k,3748) - lu(k,980) * lu(k,3644)
         lu(k,3749) = lu(k,3749) - lu(k,981) * lu(k,3644)
         lu(k,3751) = lu(k,3751) - lu(k,982) * lu(k,3644)
         lu(k,3752) = lu(k,3752) - lu(k,983) * lu(k,3644)
         lu(k,3756) = lu(k,3756) - lu(k,984) * lu(k,3644)
      end do
      end subroutine lu_fac21
      subroutine lu_fac22( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,985) = 1._r8 / lu(k,985)
         lu(k,986) = lu(k,986) * lu(k,985)
         lu(k,987) = lu(k,987) * lu(k,985)
         lu(k,988) = lu(k,988) * lu(k,985)
         lu(k,989) = lu(k,989) * lu(k,985)
         lu(k,990) = lu(k,990) * lu(k,985)
         lu(k,991) = lu(k,991) * lu(k,985)
         lu(k,992) = lu(k,992) * lu(k,985)
         lu(k,993) = lu(k,993) * lu(k,985)
         lu(k,994) = lu(k,994) * lu(k,985)
         lu(k,1717) = - lu(k,986) * lu(k,1715)
         lu(k,1721) = - lu(k,987) * lu(k,1715)
         lu(k,1726) = - lu(k,988) * lu(k,1715)
         lu(k,1731) = - lu(k,989) * lu(k,1715)
         lu(k,1739) = lu(k,1739) - lu(k,990) * lu(k,1715)
         lu(k,1740) = lu(k,1740) - lu(k,991) * lu(k,1715)
         lu(k,1741) = lu(k,1741) - lu(k,992) * lu(k,1715)
         lu(k,1743) = lu(k,1743) - lu(k,993) * lu(k,1715)
         lu(k,1744) = lu(k,1744) - lu(k,994) * lu(k,1715)
         lu(k,2823) = - lu(k,986) * lu(k,2801)
         lu(k,2835) = lu(k,2835) - lu(k,987) * lu(k,2801)
         lu(k,2843) = lu(k,2843) - lu(k,988) * lu(k,2801)
         lu(k,2851) = lu(k,2851) - lu(k,989) * lu(k,2801)
         lu(k,2885) = lu(k,2885) - lu(k,990) * lu(k,2801)
         lu(k,2889) = lu(k,2889) - lu(k,991) * lu(k,2801)
         lu(k,2891) = lu(k,2891) - lu(k,992) * lu(k,2801)
         lu(k,2894) = lu(k,2894) - lu(k,993) * lu(k,2801)
         lu(k,2895) = lu(k,2895) - lu(k,994) * lu(k,2801)
         lu(k,3216) = lu(k,3216) - lu(k,986) * lu(k,3192)
         lu(k,3231) = - lu(k,987) * lu(k,3192)
         lu(k,3239) = - lu(k,988) * lu(k,3192)
         lu(k,3247) = lu(k,3247) - lu(k,989) * lu(k,3192)
         lu(k,3281) = lu(k,3281) - lu(k,990) * lu(k,3192)
         lu(k,3285) = lu(k,3285) - lu(k,991) * lu(k,3192)
         lu(k,3287) = lu(k,3287) - lu(k,992) * lu(k,3192)
         lu(k,3290) = lu(k,3290) - lu(k,993) * lu(k,3192)
         lu(k,3291) = lu(k,3291) - lu(k,994) * lu(k,3192)
         lu(k,3677) = lu(k,3677) - lu(k,986) * lu(k,3645)
         lu(k,3693) = lu(k,3693) - lu(k,987) * lu(k,3645)
         lu(k,3701) = lu(k,3701) - lu(k,988) * lu(k,3645)
         lu(k,3709) = lu(k,3709) - lu(k,989) * lu(k,3645)
         lu(k,3742) = lu(k,3742) - lu(k,990) * lu(k,3645)
         lu(k,3746) = lu(k,3746) - lu(k,991) * lu(k,3645)
         lu(k,3748) = lu(k,3748) - lu(k,992) * lu(k,3645)
         lu(k,3751) = lu(k,3751) - lu(k,993) * lu(k,3645)
         lu(k,3752) = lu(k,3752) - lu(k,994) * lu(k,3645)
         lu(k,995) = 1._r8 / lu(k,995)
         lu(k,996) = lu(k,996) * lu(k,995)
         lu(k,997) = lu(k,997) * lu(k,995)
         lu(k,998) = lu(k,998) * lu(k,995)
         lu(k,2216) = lu(k,2216) - lu(k,996) * lu(k,2204)
         lu(k,2219) = lu(k,2219) - lu(k,997) * lu(k,2204)
         lu(k,2231) = lu(k,2231) - lu(k,998) * lu(k,2204)
         lu(k,2245) = lu(k,2245) - lu(k,996) * lu(k,2234)
         lu(k,2248) = lu(k,2248) - lu(k,997) * lu(k,2234)
         lu(k,2260) = lu(k,2260) - lu(k,998) * lu(k,2234)
         lu(k,2333) = lu(k,2333) - lu(k,996) * lu(k,2324)
         lu(k,2336) = lu(k,2336) - lu(k,997) * lu(k,2324)
         lu(k,2348) = lu(k,2348) - lu(k,998) * lu(k,2324)
         lu(k,2529) = lu(k,2529) - lu(k,996) * lu(k,2506)
         lu(k,2532) = lu(k,2532) - lu(k,997) * lu(k,2506)
         lu(k,2546) = lu(k,2546) - lu(k,998) * lu(k,2506)
         lu(k,2575) = lu(k,2575) - lu(k,996) * lu(k,2552)
         lu(k,2578) = lu(k,2578) - lu(k,997) * lu(k,2552)
         lu(k,2592) = lu(k,2592) - lu(k,998) * lu(k,2552)
         lu(k,2622) = lu(k,2622) - lu(k,996) * lu(k,2598)
         lu(k,2625) = lu(k,2625) - lu(k,997) * lu(k,2598)
         lu(k,2639) = lu(k,2639) - lu(k,998) * lu(k,2598)
         lu(k,2693) = lu(k,2693) - lu(k,996) * lu(k,2646)
         lu(k,2696) = lu(k,2696) - lu(k,997) * lu(k,2646)
         lu(k,2710) = lu(k,2710) - lu(k,998) * lu(k,2646)
         lu(k,2876) = lu(k,2876) - lu(k,996) * lu(k,2802)
         lu(k,2879) = lu(k,2879) - lu(k,997) * lu(k,2802)
         lu(k,2895) = lu(k,2895) - lu(k,998) * lu(k,2802)
         lu(k,2977) = lu(k,2977) - lu(k,996) * lu(k,2919)
         lu(k,2980) = lu(k,2980) - lu(k,997) * lu(k,2919)
         lu(k,2996) = lu(k,2996) - lu(k,998) * lu(k,2919)
         lu(k,3069) = lu(k,3069) - lu(k,996) * lu(k,3012)
         lu(k,3072) = lu(k,3072) - lu(k,997) * lu(k,3012)
         lu(k,3088) = lu(k,3088) - lu(k,998) * lu(k,3012)
         lu(k,3272) = lu(k,3272) - lu(k,996) * lu(k,3193)
         lu(k,3275) = lu(k,3275) - lu(k,997) * lu(k,3193)
         lu(k,3291) = lu(k,3291) - lu(k,998) * lu(k,3193)
         lu(k,3413) = lu(k,3413) - lu(k,996) * lu(k,3353)
         lu(k,3416) = lu(k,3416) - lu(k,997) * lu(k,3353)
         lu(k,3432) = lu(k,3432) - lu(k,998) * lu(k,3353)
         lu(k,3733) = lu(k,3733) - lu(k,996) * lu(k,3646)
         lu(k,3736) = lu(k,3736) - lu(k,997) * lu(k,3646)
         lu(k,3752) = lu(k,3752) - lu(k,998) * lu(k,3646)
         lu(k,999) = 1._r8 / lu(k,999)
         lu(k,1000) = lu(k,1000) * lu(k,999)
         lu(k,1001) = lu(k,1001) * lu(k,999)
         lu(k,1002) = lu(k,1002) * lu(k,999)
         lu(k,1003) = lu(k,1003) * lu(k,999)
         lu(k,1004) = lu(k,1004) * lu(k,999)
         lu(k,1005) = lu(k,1005) * lu(k,999)
         lu(k,1006) = lu(k,1006) * lu(k,999)
         lu(k,1007) = lu(k,1007) * lu(k,999)
         lu(k,1008) = lu(k,1008) * lu(k,999)
         lu(k,1009) = lu(k,1009) * lu(k,999)
         lu(k,1917) = - lu(k,1000) * lu(k,1913)
         lu(k,1918) = lu(k,1918) - lu(k,1001) * lu(k,1913)
         lu(k,1921) = lu(k,1921) - lu(k,1002) * lu(k,1913)
         lu(k,1922) = - lu(k,1003) * lu(k,1913)
         lu(k,1925) = lu(k,1925) - lu(k,1004) * lu(k,1913)
         lu(k,1935) = - lu(k,1005) * lu(k,1913)
         lu(k,1938) = lu(k,1938) - lu(k,1006) * lu(k,1913)
         lu(k,1939) = - lu(k,1007) * lu(k,1913)
         lu(k,1941) = lu(k,1941) - lu(k,1008) * lu(k,1913)
         lu(k,1942) = lu(k,1942) - lu(k,1009) * lu(k,1913)
         lu(k,2823) = lu(k,2823) - lu(k,1000) * lu(k,2803)
         lu(k,2824) = lu(k,2824) - lu(k,1001) * lu(k,2803)
         lu(k,2832) = lu(k,2832) - lu(k,1002) * lu(k,2803)
         lu(k,2835) = lu(k,2835) - lu(k,1003) * lu(k,2803)
         lu(k,2842) = lu(k,2842) - lu(k,1004) * lu(k,2803)
         lu(k,2885) = lu(k,2885) - lu(k,1005) * lu(k,2803)
         lu(k,2889) = lu(k,2889) - lu(k,1006) * lu(k,2803)
         lu(k,2891) = lu(k,2891) - lu(k,1007) * lu(k,2803)
         lu(k,2894) = lu(k,2894) - lu(k,1008) * lu(k,2803)
         lu(k,2895) = lu(k,2895) - lu(k,1009) * lu(k,2803)
         lu(k,3216) = lu(k,3216) - lu(k,1000) * lu(k,3194)
         lu(k,3217) = lu(k,3217) - lu(k,1001) * lu(k,3194)
         lu(k,3228) = lu(k,3228) - lu(k,1002) * lu(k,3194)
         lu(k,3231) = lu(k,3231) - lu(k,1003) * lu(k,3194)
         lu(k,3238) = lu(k,3238) - lu(k,1004) * lu(k,3194)
         lu(k,3281) = lu(k,3281) - lu(k,1005) * lu(k,3194)
         lu(k,3285) = lu(k,3285) - lu(k,1006) * lu(k,3194)
         lu(k,3287) = lu(k,3287) - lu(k,1007) * lu(k,3194)
         lu(k,3290) = lu(k,3290) - lu(k,1008) * lu(k,3194)
         lu(k,3291) = lu(k,3291) - lu(k,1009) * lu(k,3194)
         lu(k,3677) = lu(k,3677) - lu(k,1000) * lu(k,3647)
         lu(k,3678) = lu(k,3678) - lu(k,1001) * lu(k,3647)
         lu(k,3689) = lu(k,3689) - lu(k,1002) * lu(k,3647)
         lu(k,3693) = lu(k,3693) - lu(k,1003) * lu(k,3647)
         lu(k,3700) = lu(k,3700) - lu(k,1004) * lu(k,3647)
         lu(k,3742) = lu(k,3742) - lu(k,1005) * lu(k,3647)
         lu(k,3746) = lu(k,3746) - lu(k,1006) * lu(k,3647)
         lu(k,3748) = lu(k,3748) - lu(k,1007) * lu(k,3647)
         lu(k,3751) = lu(k,3751) - lu(k,1008) * lu(k,3647)
         lu(k,3752) = lu(k,3752) - lu(k,1009) * lu(k,3647)
         lu(k,1010) = 1._r8 / lu(k,1010)
         lu(k,1011) = lu(k,1011) * lu(k,1010)
         lu(k,1012) = lu(k,1012) * lu(k,1010)
         lu(k,1013) = lu(k,1013) * lu(k,1010)
         lu(k,1014) = lu(k,1014) * lu(k,1010)
         lu(k,1015) = lu(k,1015) * lu(k,1010)
         lu(k,1016) = lu(k,1016) * lu(k,1010)
         lu(k,1017) = lu(k,1017) * lu(k,1010)
         lu(k,1018) = lu(k,1018) * lu(k,1010)
         lu(k,1019) = lu(k,1019) * lu(k,1010)
         lu(k,1020) = lu(k,1020) * lu(k,1010)
         lu(k,1950) = lu(k,1950) - lu(k,1011) * lu(k,1947)
         lu(k,1951) = - lu(k,1012) * lu(k,1947)
         lu(k,1956) = - lu(k,1013) * lu(k,1947)
         lu(k,1958) = lu(k,1958) - lu(k,1014) * lu(k,1947)
         lu(k,1962) = lu(k,1962) - lu(k,1015) * lu(k,1947)
         lu(k,1969) = - lu(k,1016) * lu(k,1947)
         lu(k,1972) = lu(k,1972) - lu(k,1017) * lu(k,1947)
         lu(k,1973) = - lu(k,1018) * lu(k,1947)
         lu(k,1975) = lu(k,1975) - lu(k,1019) * lu(k,1947)
         lu(k,1976) = lu(k,1976) - lu(k,1020) * lu(k,1947)
         lu(k,2819) = lu(k,2819) - lu(k,1011) * lu(k,2804)
         lu(k,2823) = lu(k,2823) - lu(k,1012) * lu(k,2804)
         lu(k,2835) = lu(k,2835) - lu(k,1013) * lu(k,2804)
         lu(k,2841) = lu(k,2841) - lu(k,1014) * lu(k,2804)
         lu(k,2851) = lu(k,2851) - lu(k,1015) * lu(k,2804)
         lu(k,2885) = lu(k,2885) - lu(k,1016) * lu(k,2804)
         lu(k,2889) = lu(k,2889) - lu(k,1017) * lu(k,2804)
         lu(k,2891) = lu(k,2891) - lu(k,1018) * lu(k,2804)
         lu(k,2894) = lu(k,2894) - lu(k,1019) * lu(k,2804)
         lu(k,2895) = lu(k,2895) - lu(k,1020) * lu(k,2804)
         lu(k,3212) = lu(k,3212) - lu(k,1011) * lu(k,3195)
         lu(k,3216) = lu(k,3216) - lu(k,1012) * lu(k,3195)
         lu(k,3231) = lu(k,3231) - lu(k,1013) * lu(k,3195)
         lu(k,3237) = lu(k,3237) - lu(k,1014) * lu(k,3195)
         lu(k,3247) = lu(k,3247) - lu(k,1015) * lu(k,3195)
         lu(k,3281) = lu(k,3281) - lu(k,1016) * lu(k,3195)
         lu(k,3285) = lu(k,3285) - lu(k,1017) * lu(k,3195)
         lu(k,3287) = lu(k,3287) - lu(k,1018) * lu(k,3195)
         lu(k,3290) = lu(k,3290) - lu(k,1019) * lu(k,3195)
         lu(k,3291) = lu(k,3291) - lu(k,1020) * lu(k,3195)
         lu(k,3672) = lu(k,3672) - lu(k,1011) * lu(k,3648)
         lu(k,3677) = lu(k,3677) - lu(k,1012) * lu(k,3648)
         lu(k,3693) = lu(k,3693) - lu(k,1013) * lu(k,3648)
         lu(k,3699) = lu(k,3699) - lu(k,1014) * lu(k,3648)
         lu(k,3709) = lu(k,3709) - lu(k,1015) * lu(k,3648)
         lu(k,3742) = lu(k,3742) - lu(k,1016) * lu(k,3648)
         lu(k,3746) = lu(k,3746) - lu(k,1017) * lu(k,3648)
         lu(k,3748) = lu(k,3748) - lu(k,1018) * lu(k,3648)
         lu(k,3751) = lu(k,3751) - lu(k,1019) * lu(k,3648)
         lu(k,3752) = lu(k,3752) - lu(k,1020) * lu(k,3648)
      end do
      end subroutine lu_fac22
      subroutine lu_fac23( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,1021) = 1._r8 / lu(k,1021)
         lu(k,1022) = lu(k,1022) * lu(k,1021)
         lu(k,1023) = lu(k,1023) * lu(k,1021)
         lu(k,1024) = lu(k,1024) * lu(k,1021)
         lu(k,1025) = lu(k,1025) * lu(k,1021)
         lu(k,1026) = lu(k,1026) * lu(k,1021)
         lu(k,1027) = lu(k,1027) * lu(k,1021)
         lu(k,1028) = lu(k,1028) * lu(k,1021)
         lu(k,1029) = lu(k,1029) * lu(k,1021)
         lu(k,1030) = lu(k,1030) * lu(k,1021)
         lu(k,1031) = lu(k,1031) * lu(k,1021)
         lu(k,1475) = lu(k,1475) - lu(k,1022) * lu(k,1474)
         lu(k,1479) = - lu(k,1023) * lu(k,1474)
         lu(k,1481) = lu(k,1481) - lu(k,1024) * lu(k,1474)
         lu(k,1482) = - lu(k,1025) * lu(k,1474)
         lu(k,1483) = lu(k,1483) - lu(k,1026) * lu(k,1474)
         lu(k,1485) = lu(k,1485) - lu(k,1027) * lu(k,1474)
         lu(k,1486) = lu(k,1486) - lu(k,1028) * lu(k,1474)
         lu(k,1488) = - lu(k,1029) * lu(k,1474)
         lu(k,1492) = lu(k,1492) - lu(k,1030) * lu(k,1474)
         lu(k,1493) = lu(k,1493) - lu(k,1031) * lu(k,1474)
         lu(k,1527) = - lu(k,1022) * lu(k,1526)
         lu(k,1528) = lu(k,1528) - lu(k,1023) * lu(k,1526)
         lu(k,1530) = - lu(k,1024) * lu(k,1526)
         lu(k,1531) = lu(k,1531) - lu(k,1025) * lu(k,1526)
         lu(k,1532) = - lu(k,1026) * lu(k,1526)
         lu(k,1533) = - lu(k,1027) * lu(k,1526)
         lu(k,1534) = - lu(k,1028) * lu(k,1526)
         lu(k,1535) = lu(k,1535) - lu(k,1029) * lu(k,1526)
         lu(k,1538) = lu(k,1538) - lu(k,1030) * lu(k,1526)
         lu(k,1539) = lu(k,1539) - lu(k,1031) * lu(k,1526)
         lu(k,2813) = lu(k,2813) - lu(k,1022) * lu(k,2805)
         lu(k,2832) = lu(k,2832) - lu(k,1023) * lu(k,2805)
         lu(k,2836) = lu(k,2836) - lu(k,1024) * lu(k,2805)
         lu(k,2841) = lu(k,2841) - lu(k,1025) * lu(k,2805)
         lu(k,2842) = lu(k,2842) - lu(k,1026) * lu(k,2805)
         lu(k,2851) = lu(k,2851) - lu(k,1027) * lu(k,2805)
         lu(k,2853) = lu(k,2853) - lu(k,1028) * lu(k,2805)
         lu(k,2883) = lu(k,2883) - lu(k,1029) * lu(k,2805)
         lu(k,2894) = lu(k,2894) - lu(k,1030) * lu(k,2805)
         lu(k,2895) = lu(k,2895) - lu(k,1031) * lu(k,2805)
         lu(k,3664) = lu(k,3664) - lu(k,1022) * lu(k,3649)
         lu(k,3689) = lu(k,3689) - lu(k,1023) * lu(k,3649)
         lu(k,3694) = lu(k,3694) - lu(k,1024) * lu(k,3649)
         lu(k,3699) = lu(k,3699) - lu(k,1025) * lu(k,3649)
         lu(k,3700) = lu(k,3700) - lu(k,1026) * lu(k,3649)
         lu(k,3709) = lu(k,3709) - lu(k,1027) * lu(k,3649)
         lu(k,3711) = lu(k,3711) - lu(k,1028) * lu(k,3649)
         lu(k,3740) = lu(k,3740) - lu(k,1029) * lu(k,3649)
         lu(k,3751) = lu(k,3751) - lu(k,1030) * lu(k,3649)
         lu(k,3752) = lu(k,3752) - lu(k,1031) * lu(k,3649)
         lu(k,1032) = 1._r8 / lu(k,1032)
         lu(k,1033) = lu(k,1033) * lu(k,1032)
         lu(k,1034) = lu(k,1034) * lu(k,1032)
         lu(k,1035) = lu(k,1035) * lu(k,1032)
         lu(k,1036) = lu(k,1036) * lu(k,1032)
         lu(k,1037) = lu(k,1037) * lu(k,1032)
         lu(k,1038) = lu(k,1038) * lu(k,1032)
         lu(k,2117) = lu(k,2117) - lu(k,1033) * lu(k,2114)
         lu(k,2120) = lu(k,2120) - lu(k,1034) * lu(k,2114)
         lu(k,2128) = - lu(k,1035) * lu(k,2114)
         lu(k,2134) = lu(k,2134) - lu(k,1036) * lu(k,2114)
         lu(k,2135) = lu(k,2135) - lu(k,1037) * lu(k,2114)
         lu(k,2136) = - lu(k,1038) * lu(k,2114)
         lu(k,2298) = - lu(k,1033) * lu(k,2294)
         lu(k,2302) = - lu(k,1034) * lu(k,2294)
         lu(k,2313) = lu(k,2313) - lu(k,1035) * lu(k,2294)
         lu(k,2320) = lu(k,2320) - lu(k,1036) * lu(k,2294)
         lu(k,2321) = lu(k,2321) - lu(k,1037) * lu(k,2294)
         lu(k,2322) = - lu(k,1038) * lu(k,2294)
         lu(k,2328) = lu(k,2328) - lu(k,1033) * lu(k,2325)
         lu(k,2331) = lu(k,2331) - lu(k,1034) * lu(k,2325)
         lu(k,2340) = - lu(k,1035) * lu(k,2325)
         lu(k,2347) = lu(k,2347) - lu(k,1036) * lu(k,2325)
         lu(k,2348) = lu(k,2348) - lu(k,1037) * lu(k,2325)
         lu(k,2349) = lu(k,2349) - lu(k,1038) * lu(k,2325)
         lu(k,2357) = - lu(k,1033) * lu(k,2353)
         lu(k,2362) = - lu(k,1034) * lu(k,2353)
         lu(k,2374) = lu(k,2374) - lu(k,1035) * lu(k,2353)
         lu(k,2381) = lu(k,2381) - lu(k,1036) * lu(k,2353)
         lu(k,2382) = lu(k,2382) - lu(k,1037) * lu(k,2353)
         lu(k,2383) = - lu(k,1038) * lu(k,2353)
         lu(k,2829) = lu(k,2829) - lu(k,1033) * lu(k,2806)
         lu(k,2867) = lu(k,2867) - lu(k,1034) * lu(k,2806)
         lu(k,2883) = lu(k,2883) - lu(k,1035) * lu(k,2806)
         lu(k,2894) = lu(k,2894) - lu(k,1036) * lu(k,2806)
         lu(k,2895) = lu(k,2895) - lu(k,1037) * lu(k,2806)
         lu(k,2899) = lu(k,2899) - lu(k,1038) * lu(k,2806)
         lu(k,3223) = lu(k,3223) - lu(k,1033) * lu(k,3196)
         lu(k,3263) = lu(k,3263) - lu(k,1034) * lu(k,3196)
         lu(k,3279) = lu(k,3279) - lu(k,1035) * lu(k,3196)
         lu(k,3290) = lu(k,3290) - lu(k,1036) * lu(k,3196)
         lu(k,3291) = lu(k,3291) - lu(k,1037) * lu(k,3196)
         lu(k,3295) = lu(k,3295) - lu(k,1038) * lu(k,3196)
         lu(k,3684) = lu(k,3684) - lu(k,1033) * lu(k,3650)
         lu(k,3724) = lu(k,3724) - lu(k,1034) * lu(k,3650)
         lu(k,3740) = lu(k,3740) - lu(k,1035) * lu(k,3650)
         lu(k,3751) = lu(k,3751) - lu(k,1036) * lu(k,3650)
         lu(k,3752) = lu(k,3752) - lu(k,1037) * lu(k,3650)
         lu(k,3756) = lu(k,3756) - lu(k,1038) * lu(k,3650)
         lu(k,1039) = 1._r8 / lu(k,1039)
         lu(k,1040) = lu(k,1040) * lu(k,1039)
         lu(k,1041) = lu(k,1041) * lu(k,1039)
         lu(k,1042) = lu(k,1042) * lu(k,1039)
         lu(k,1043) = lu(k,1043) * lu(k,1039)
         lu(k,1044) = lu(k,1044) * lu(k,1039)
         lu(k,1045) = lu(k,1045) * lu(k,1039)
         lu(k,1046) = lu(k,1046) * lu(k,1039)
         lu(k,1685) = lu(k,1685) - lu(k,1040) * lu(k,1683)
         lu(k,1686) = - lu(k,1041) * lu(k,1683)
         lu(k,1688) = - lu(k,1042) * lu(k,1683)
         lu(k,1691) = - lu(k,1043) * lu(k,1683)
         lu(k,1692) = - lu(k,1044) * lu(k,1683)
         lu(k,1693) = lu(k,1693) - lu(k,1045) * lu(k,1683)
         lu(k,1694) = - lu(k,1046) * lu(k,1683)
         lu(k,3099) = lu(k,3099) - lu(k,1040) * lu(k,3097)
         lu(k,3101) = lu(k,3101) - lu(k,1041) * lu(k,3097)
         lu(k,3105) = lu(k,3105) - lu(k,1042) * lu(k,3097)
         lu(k,3110) = lu(k,3110) - lu(k,1043) * lu(k,3097)
         lu(k,3112) = lu(k,3112) - lu(k,1044) * lu(k,3097)
         lu(k,3114) = lu(k,3114) - lu(k,1045) * lu(k,3097)
         lu(k,3116) = lu(k,3116) - lu(k,1046) * lu(k,3097)
         lu(k,3242) = lu(k,3242) - lu(k,1040) * lu(k,3197)
         lu(k,3280) = lu(k,3280) - lu(k,1041) * lu(k,3197)
         lu(k,3284) = - lu(k,1042) * lu(k,3197)
         lu(k,3289) = lu(k,3289) - lu(k,1043) * lu(k,3197)
         lu(k,3291) = lu(k,3291) - lu(k,1044) * lu(k,3197)
         lu(k,3293) = lu(k,3293) - lu(k,1045) * lu(k,3197)
         lu(k,3295) = lu(k,3295) - lu(k,1046) * lu(k,3197)
         lu(k,3328) = lu(k,3328) - lu(k,1040) * lu(k,3323)
         lu(k,3330) = lu(k,3330) - lu(k,1041) * lu(k,3323)
         lu(k,3334) = - lu(k,1042) * lu(k,3323)
         lu(k,3339) = lu(k,3339) - lu(k,1043) * lu(k,3323)
         lu(k,3341) = lu(k,3341) - lu(k,1044) * lu(k,3323)
         lu(k,3343) = - lu(k,1045) * lu(k,3323)
         lu(k,3345) = lu(k,3345) - lu(k,1046) * lu(k,3323)
         lu(k,3449) = lu(k,3449) - lu(k,1040) * lu(k,3441)
         lu(k,3451) = lu(k,3451) - lu(k,1041) * lu(k,3441)
         lu(k,3455) = - lu(k,1042) * lu(k,3441)
         lu(k,3460) = lu(k,3460) - lu(k,1043) * lu(k,3441)
         lu(k,3462) = lu(k,3462) - lu(k,1044) * lu(k,3441)
         lu(k,3464) = lu(k,3464) - lu(k,1045) * lu(k,3441)
         lu(k,3466) = lu(k,3466) - lu(k,1046) * lu(k,3441)
         lu(k,3704) = lu(k,3704) - lu(k,1040) * lu(k,3651)
         lu(k,3741) = lu(k,3741) - lu(k,1041) * lu(k,3651)
         lu(k,3745) = lu(k,3745) - lu(k,1042) * lu(k,3651)
         lu(k,3750) = lu(k,3750) - lu(k,1043) * lu(k,3651)
         lu(k,3752) = lu(k,3752) - lu(k,1044) * lu(k,3651)
         lu(k,3754) = lu(k,3754) - lu(k,1045) * lu(k,3651)
         lu(k,3756) = lu(k,3756) - lu(k,1046) * lu(k,3651)
      end do
      end subroutine lu_fac23
      subroutine lu_fac24( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,1048) = 1._r8 / lu(k,1048)
         lu(k,1049) = lu(k,1049) * lu(k,1048)
         lu(k,1050) = lu(k,1050) * lu(k,1048)
         lu(k,1051) = lu(k,1051) * lu(k,1048)
         lu(k,1052) = lu(k,1052) * lu(k,1048)
         lu(k,1053) = lu(k,1053) * lu(k,1048)
         lu(k,1054) = lu(k,1054) * lu(k,1048)
         lu(k,1055) = lu(k,1055) * lu(k,1048)
         lu(k,1056) = lu(k,1056) * lu(k,1048)
         lu(k,1057) = lu(k,1057) * lu(k,1048)
         lu(k,1058) = lu(k,1058) * lu(k,1048)
         lu(k,1059) = lu(k,1059) * lu(k,1048)
         lu(k,1060) = lu(k,1060) * lu(k,1048)
         lu(k,1061) = lu(k,1061) * lu(k,1048)
         lu(k,1062) = lu(k,1062) * lu(k,1048)
         lu(k,2011) = - lu(k,1049) * lu(k,2009)
         lu(k,2012) = - lu(k,1050) * lu(k,2009)
         lu(k,2013) = - lu(k,1051) * lu(k,2009)
         lu(k,2021) = - lu(k,1052) * lu(k,2009)
         lu(k,2027) = lu(k,2027) - lu(k,1053) * lu(k,2009)
         lu(k,2029) = - lu(k,1054) * lu(k,2009)
         lu(k,2030) = lu(k,2030) - lu(k,1055) * lu(k,2009)
         lu(k,2033) = lu(k,2033) - lu(k,1056) * lu(k,2009)
         lu(k,2034) = lu(k,2034) - lu(k,1057) * lu(k,2009)
         lu(k,2037) = - lu(k,1058) * lu(k,2009)
         lu(k,2042) = lu(k,2042) - lu(k,1059) * lu(k,2009)
         lu(k,2043) = lu(k,2043) - lu(k,1060) * lu(k,2009)
         lu(k,2046) = lu(k,2046) - lu(k,1061) * lu(k,2009)
         lu(k,2047) = lu(k,2047) - lu(k,1062) * lu(k,2009)
         lu(k,3202) = lu(k,3202) - lu(k,1049) * lu(k,3198)
         lu(k,3207) = lu(k,3207) - lu(k,1050) * lu(k,3198)
         lu(k,3209) = - lu(k,1051) * lu(k,3198)
         lu(k,3229) = lu(k,3229) - lu(k,1052) * lu(k,3198)
         lu(k,3245) = lu(k,3245) - lu(k,1053) * lu(k,3198)
         lu(k,3249) = lu(k,3249) - lu(k,1054) * lu(k,3198)
         lu(k,3250) = lu(k,3250) - lu(k,1055) * lu(k,3198)
         lu(k,3254) = - lu(k,1056) * lu(k,3198)
         lu(k,3255) = lu(k,3255) - lu(k,1057) * lu(k,3198)
         lu(k,3279) = lu(k,3279) - lu(k,1058) * lu(k,3198)
         lu(k,3285) = lu(k,3285) - lu(k,1059) * lu(k,3198)
         lu(k,3287) = lu(k,3287) - lu(k,1060) * lu(k,3198)
         lu(k,3290) = lu(k,3290) - lu(k,1061) * lu(k,3198)
         lu(k,3291) = lu(k,3291) - lu(k,1062) * lu(k,3198)
         lu(k,3658) = lu(k,3658) - lu(k,1049) * lu(k,3652)
         lu(k,3665) = lu(k,3665) - lu(k,1050) * lu(k,3652)
         lu(k,3669) = lu(k,3669) - lu(k,1051) * lu(k,3652)
         lu(k,3690) = lu(k,3690) - lu(k,1052) * lu(k,3652)
         lu(k,3707) = lu(k,3707) - lu(k,1053) * lu(k,3652)
         lu(k,3711) = lu(k,3711) - lu(k,1054) * lu(k,3652)
         lu(k,3712) = lu(k,3712) - lu(k,1055) * lu(k,3652)
         lu(k,3716) = lu(k,3716) - lu(k,1056) * lu(k,3652)
         lu(k,3717) = lu(k,3717) - lu(k,1057) * lu(k,3652)
         lu(k,3740) = lu(k,3740) - lu(k,1058) * lu(k,3652)
         lu(k,3746) = lu(k,3746) - lu(k,1059) * lu(k,3652)
         lu(k,3748) = lu(k,3748) - lu(k,1060) * lu(k,3652)
         lu(k,3751) = lu(k,3751) - lu(k,1061) * lu(k,3652)
         lu(k,3752) = lu(k,3752) - lu(k,1062) * lu(k,3652)
         lu(k,1064) = 1._r8 / lu(k,1064)
         lu(k,1065) = lu(k,1065) * lu(k,1064)
         lu(k,1066) = lu(k,1066) * lu(k,1064)
         lu(k,1067) = lu(k,1067) * lu(k,1064)
         lu(k,1068) = lu(k,1068) * lu(k,1064)
         lu(k,1069) = lu(k,1069) * lu(k,1064)
         lu(k,1070) = lu(k,1070) * lu(k,1064)
         lu(k,1216) = lu(k,1216) - lu(k,1065) * lu(k,1212)
         lu(k,1217) = lu(k,1217) - lu(k,1066) * lu(k,1212)
         lu(k,1219) = lu(k,1219) - lu(k,1067) * lu(k,1212)
         lu(k,1220) = lu(k,1220) - lu(k,1068) * lu(k,1212)
         lu(k,1221) = lu(k,1221) - lu(k,1069) * lu(k,1212)
         lu(k,1222) = - lu(k,1070) * lu(k,1212)
         lu(k,3286) = lu(k,3286) - lu(k,1065) * lu(k,3199)
         lu(k,3289) = lu(k,3289) - lu(k,1066) * lu(k,3199)
         lu(k,3291) = lu(k,3291) - lu(k,1067) * lu(k,3199)
         lu(k,3292) = lu(k,3292) - lu(k,1068) * lu(k,3199)
         lu(k,3294) = lu(k,3294) - lu(k,1069) * lu(k,3199)
         lu(k,3295) = lu(k,3295) - lu(k,1070) * lu(k,3199)
         lu(k,3312) = lu(k,3312) - lu(k,1065) * lu(k,3300)
         lu(k,3315) = lu(k,3315) - lu(k,1066) * lu(k,3300)
         lu(k,3317) = lu(k,3317) - lu(k,1067) * lu(k,3300)
         lu(k,3318) = lu(k,3318) - lu(k,1068) * lu(k,3300)
         lu(k,3320) = lu(k,3320) - lu(k,1069) * lu(k,3300)
         lu(k,3321) = - lu(k,1070) * lu(k,3300)
         lu(k,3457) = lu(k,3457) - lu(k,1065) * lu(k,3442)
         lu(k,3460) = lu(k,3460) - lu(k,1066) * lu(k,3442)
         lu(k,3462) = lu(k,3462) - lu(k,1067) * lu(k,3442)
         lu(k,3463) = lu(k,3463) - lu(k,1068) * lu(k,3442)
         lu(k,3465) = lu(k,3465) - lu(k,1069) * lu(k,3442)
         lu(k,3466) = lu(k,3466) - lu(k,1070) * lu(k,3442)
         lu(k,3747) = lu(k,3747) - lu(k,1065) * lu(k,3653)
         lu(k,3750) = lu(k,3750) - lu(k,1066) * lu(k,3653)
         lu(k,3752) = lu(k,3752) - lu(k,1067) * lu(k,3653)
         lu(k,3753) = lu(k,3753) - lu(k,1068) * lu(k,3653)
         lu(k,3755) = lu(k,3755) - lu(k,1069) * lu(k,3653)
         lu(k,3756) = lu(k,3756) - lu(k,1070) * lu(k,3653)
         lu(k,3769) = lu(k,3769) - lu(k,1065) * lu(k,3760)
         lu(k,3772) = lu(k,3772) - lu(k,1066) * lu(k,3760)
         lu(k,3774) = lu(k,3774) - lu(k,1067) * lu(k,3760)
         lu(k,3775) = lu(k,3775) - lu(k,1068) * lu(k,3760)
         lu(k,3777) = lu(k,3777) - lu(k,1069) * lu(k,3760)
         lu(k,3778) = lu(k,3778) - lu(k,1070) * lu(k,3760)
         lu(k,3828) = lu(k,3828) - lu(k,1065) * lu(k,3808)
         lu(k,3831) = - lu(k,1066) * lu(k,3808)
         lu(k,3833) = lu(k,3833) - lu(k,1067) * lu(k,3808)
         lu(k,3834) = lu(k,3834) - lu(k,1068) * lu(k,3808)
         lu(k,3836) = lu(k,3836) - lu(k,1069) * lu(k,3808)
         lu(k,3837) = lu(k,3837) - lu(k,1070) * lu(k,3808)
         lu(k,1071) = 1._r8 / lu(k,1071)
         lu(k,1072) = lu(k,1072) * lu(k,1071)
         lu(k,1073) = lu(k,1073) * lu(k,1071)
         lu(k,1074) = lu(k,1074) * lu(k,1071)
         lu(k,1075) = lu(k,1075) * lu(k,1071)
         lu(k,1076) = lu(k,1076) * lu(k,1071)
         lu(k,1077) = lu(k,1077) * lu(k,1071)
         lu(k,1078) = lu(k,1078) * lu(k,1071)
         lu(k,1079) = lu(k,1079) * lu(k,1071)
         lu(k,1080) = lu(k,1080) * lu(k,1071)
         lu(k,1081) = lu(k,1081) * lu(k,1071)
         lu(k,1082) = lu(k,1082) * lu(k,1071)
         lu(k,1817) = - lu(k,1072) * lu(k,1815)
         lu(k,1819) = lu(k,1819) - lu(k,1073) * lu(k,1815)
         lu(k,1820) = - lu(k,1074) * lu(k,1815)
         lu(k,1823) = lu(k,1823) - lu(k,1075) * lu(k,1815)
         lu(k,1824) = - lu(k,1076) * lu(k,1815)
         lu(k,1825) = - lu(k,1077) * lu(k,1815)
         lu(k,1837) = lu(k,1837) - lu(k,1078) * lu(k,1815)
         lu(k,1838) = lu(k,1838) - lu(k,1079) * lu(k,1815)
         lu(k,1839) = lu(k,1839) - lu(k,1080) * lu(k,1815)
         lu(k,1841) = lu(k,1841) - lu(k,1081) * lu(k,1815)
         lu(k,1842) = lu(k,1842) - lu(k,1082) * lu(k,1815)
         lu(k,2823) = lu(k,2823) - lu(k,1072) * lu(k,2807)
         lu(k,2832) = lu(k,2832) - lu(k,1073) * lu(k,2807)
         lu(k,2835) = lu(k,2835) - lu(k,1074) * lu(k,2807)
         lu(k,2841) = lu(k,2841) - lu(k,1075) * lu(k,2807)
         lu(k,2842) = lu(k,2842) - lu(k,1076) * lu(k,2807)
         lu(k,2843) = lu(k,2843) - lu(k,1077) * lu(k,2807)
         lu(k,2885) = lu(k,2885) - lu(k,1078) * lu(k,2807)
         lu(k,2889) = lu(k,2889) - lu(k,1079) * lu(k,2807)
         lu(k,2891) = lu(k,2891) - lu(k,1080) * lu(k,2807)
         lu(k,2894) = lu(k,2894) - lu(k,1081) * lu(k,2807)
         lu(k,2895) = lu(k,2895) - lu(k,1082) * lu(k,2807)
         lu(k,3216) = lu(k,3216) - lu(k,1072) * lu(k,3200)
         lu(k,3228) = lu(k,3228) - lu(k,1073) * lu(k,3200)
         lu(k,3231) = lu(k,3231) - lu(k,1074) * lu(k,3200)
         lu(k,3237) = lu(k,3237) - lu(k,1075) * lu(k,3200)
         lu(k,3238) = lu(k,3238) - lu(k,1076) * lu(k,3200)
         lu(k,3239) = lu(k,3239) - lu(k,1077) * lu(k,3200)
         lu(k,3281) = lu(k,3281) - lu(k,1078) * lu(k,3200)
         lu(k,3285) = lu(k,3285) - lu(k,1079) * lu(k,3200)
         lu(k,3287) = lu(k,3287) - lu(k,1080) * lu(k,3200)
         lu(k,3290) = lu(k,3290) - lu(k,1081) * lu(k,3200)
         lu(k,3291) = lu(k,3291) - lu(k,1082) * lu(k,3200)
         lu(k,3677) = lu(k,3677) - lu(k,1072) * lu(k,3654)
         lu(k,3689) = lu(k,3689) - lu(k,1073) * lu(k,3654)
         lu(k,3693) = lu(k,3693) - lu(k,1074) * lu(k,3654)
         lu(k,3699) = lu(k,3699) - lu(k,1075) * lu(k,3654)
         lu(k,3700) = lu(k,3700) - lu(k,1076) * lu(k,3654)
         lu(k,3701) = lu(k,3701) - lu(k,1077) * lu(k,3654)
         lu(k,3742) = lu(k,3742) - lu(k,1078) * lu(k,3654)
         lu(k,3746) = lu(k,3746) - lu(k,1079) * lu(k,3654)
         lu(k,3748) = lu(k,3748) - lu(k,1080) * lu(k,3654)
         lu(k,3751) = lu(k,3751) - lu(k,1081) * lu(k,3654)
         lu(k,3752) = lu(k,3752) - lu(k,1082) * lu(k,3654)
         lu(k,1083) = 1._r8 / lu(k,1083)
         lu(k,1084) = lu(k,1084) * lu(k,1083)
         lu(k,1085) = lu(k,1085) * lu(k,1083)
         lu(k,1086) = lu(k,1086) * lu(k,1083)
         lu(k,1087) = lu(k,1087) * lu(k,1083)
         lu(k,1088) = lu(k,1088) * lu(k,1083)
         lu(k,1089) = lu(k,1089) * lu(k,1083)
         lu(k,1090) = lu(k,1090) * lu(k,1083)
         lu(k,1091) = lu(k,1091) * lu(k,1083)
         lu(k,1092) = lu(k,1092) * lu(k,1083)
         lu(k,1093) = lu(k,1093) * lu(k,1083)
         lu(k,1094) = lu(k,1094) * lu(k,1083)
         lu(k,1432) = lu(k,1432) - lu(k,1084) * lu(k,1430)
         lu(k,1436) = lu(k,1436) - lu(k,1085) * lu(k,1430)
         lu(k,1441) = - lu(k,1086) * lu(k,1430)
         lu(k,1443) = lu(k,1443) - lu(k,1087) * lu(k,1430)
         lu(k,1444) = - lu(k,1088) * lu(k,1430)
         lu(k,1447) = - lu(k,1089) * lu(k,1430)
         lu(k,1452) = lu(k,1452) - lu(k,1090) * lu(k,1430)
         lu(k,1455) = lu(k,1455) - lu(k,1091) * lu(k,1430)
         lu(k,1456) = lu(k,1456) - lu(k,1092) * lu(k,1430)
         lu(k,1458) = lu(k,1458) - lu(k,1093) * lu(k,1430)
         lu(k,1459) = lu(k,1459) - lu(k,1094) * lu(k,1430)
         lu(k,2013) = lu(k,2013) - lu(k,1084) * lu(k,2010)
         lu(k,2017) = - lu(k,1085) * lu(k,2010)
         lu(k,2021) = lu(k,2021) - lu(k,1086) * lu(k,2010)
         lu(k,2023) = - lu(k,1087) * lu(k,2010)
         lu(k,2024) = - lu(k,1088) * lu(k,2010)
         lu(k,2028) = - lu(k,1089) * lu(k,2010)
         lu(k,2037) = lu(k,2037) - lu(k,1090) * lu(k,2010)
         lu(k,2042) = lu(k,2042) - lu(k,1091) * lu(k,2010)
         lu(k,2043) = lu(k,2043) - lu(k,1092) * lu(k,2010)
         lu(k,2046) = lu(k,2046) - lu(k,1093) * lu(k,2010)
         lu(k,2047) = lu(k,2047) - lu(k,1094) * lu(k,2010)
         lu(k,3357) = - lu(k,1084) * lu(k,3354)
         lu(k,3363) = - lu(k,1085) * lu(k,3354)
         lu(k,3371) = - lu(k,1086) * lu(k,3354)
         lu(k,3374) = lu(k,3374) - lu(k,1087) * lu(k,3354)
         lu(k,3379) = lu(k,3379) - lu(k,1088) * lu(k,3354)
         lu(k,3388) = - lu(k,1089) * lu(k,3354)
         lu(k,3420) = - lu(k,1090) * lu(k,3354)
         lu(k,3426) = lu(k,3426) - lu(k,1091) * lu(k,3354)
         lu(k,3428) = lu(k,3428) - lu(k,1092) * lu(k,3354)
         lu(k,3431) = lu(k,3431) - lu(k,1093) * lu(k,3354)
         lu(k,3432) = lu(k,3432) - lu(k,1094) * lu(k,3354)
         lu(k,3669) = lu(k,3669) - lu(k,1084) * lu(k,3655)
         lu(k,3678) = lu(k,3678) - lu(k,1085) * lu(k,3655)
         lu(k,3690) = lu(k,3690) - lu(k,1086) * lu(k,3655)
         lu(k,3694) = lu(k,3694) - lu(k,1087) * lu(k,3655)
         lu(k,3699) = lu(k,3699) - lu(k,1088) * lu(k,3655)
         lu(k,3709) = lu(k,3709) - lu(k,1089) * lu(k,3655)
         lu(k,3740) = lu(k,3740) - lu(k,1090) * lu(k,3655)
         lu(k,3746) = lu(k,3746) - lu(k,1091) * lu(k,3655)
         lu(k,3748) = lu(k,3748) - lu(k,1092) * lu(k,3655)
         lu(k,3751) = lu(k,3751) - lu(k,1093) * lu(k,3655)
         lu(k,3752) = lu(k,3752) - lu(k,1094) * lu(k,3655)
      end do
      end subroutine lu_fac24
      subroutine lu_fac25( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,1102) = 1._r8 / lu(k,1102)
         lu(k,1103) = lu(k,1103) * lu(k,1102)
         lu(k,1104) = lu(k,1104) * lu(k,1102)
         lu(k,1105) = lu(k,1105) * lu(k,1102)
         lu(k,1106) = lu(k,1106) * lu(k,1102)
         lu(k,1107) = lu(k,1107) * lu(k,1102)
         lu(k,1108) = lu(k,1108) * lu(k,1102)
         lu(k,1109) = lu(k,1109) * lu(k,1102)
         lu(k,1110) = lu(k,1110) * lu(k,1102)
         lu(k,1111) = lu(k,1111) * lu(k,1102)
         lu(k,1112) = lu(k,1112) * lu(k,1102)
         lu(k,1113) = lu(k,1113) * lu(k,1102)
         lu(k,1114) = lu(k,1114) * lu(k,1102)
         lu(k,1115) = lu(k,1115) * lu(k,1102)
         lu(k,1116) = lu(k,1116) * lu(k,1102)
         lu(k,1117) = lu(k,1117) * lu(k,1102)
         lu(k,2925) = lu(k,2925) - lu(k,1103) * lu(k,2920)
         lu(k,2933) = lu(k,2933) - lu(k,1104) * lu(k,2920)
         lu(k,2940) = lu(k,2940) - lu(k,1105) * lu(k,2920)
         lu(k,2964) = - lu(k,1106) * lu(k,2920)
         lu(k,2968) = lu(k,2968) - lu(k,1107) * lu(k,2920)
         lu(k,2969) = - lu(k,1108) * lu(k,2920)
         lu(k,2977) = lu(k,2977) - lu(k,1109) * lu(k,2920)
         lu(k,2979) = lu(k,2979) - lu(k,1110) * lu(k,2920)
         lu(k,2980) = lu(k,2980) - lu(k,1111) * lu(k,2920)
         lu(k,2982) = lu(k,2982) - lu(k,1112) * lu(k,2920)
         lu(k,2987) = lu(k,2987) - lu(k,1113) * lu(k,2920)
         lu(k,2988) = lu(k,2988) - lu(k,1114) * lu(k,2920)
         lu(k,2990) = lu(k,2990) - lu(k,1115) * lu(k,2920)
         lu(k,2992) = lu(k,2992) - lu(k,1116) * lu(k,2920)
         lu(k,2996) = lu(k,2996) - lu(k,1117) * lu(k,2920)
         lu(k,3018) = lu(k,3018) - lu(k,1103) * lu(k,3013)
         lu(k,3024) = lu(k,3024) - lu(k,1104) * lu(k,3013)
         lu(k,3031) = lu(k,3031) - lu(k,1105) * lu(k,3013)
         lu(k,3056) = lu(k,3056) - lu(k,1106) * lu(k,3013)
         lu(k,3060) = lu(k,3060) - lu(k,1107) * lu(k,3013)
         lu(k,3061) = lu(k,3061) - lu(k,1108) * lu(k,3013)
         lu(k,3069) = lu(k,3069) - lu(k,1109) * lu(k,3013)
         lu(k,3071) = lu(k,3071) - lu(k,1110) * lu(k,3013)
         lu(k,3072) = lu(k,3072) - lu(k,1111) * lu(k,3013)
         lu(k,3074) = lu(k,3074) - lu(k,1112) * lu(k,3013)
         lu(k,3079) = lu(k,3079) - lu(k,1113) * lu(k,3013)
         lu(k,3080) = lu(k,3080) - lu(k,1114) * lu(k,3013)
         lu(k,3082) = lu(k,3082) - lu(k,1115) * lu(k,3013)
         lu(k,3084) = lu(k,3084) - lu(k,1116) * lu(k,3013)
         lu(k,3088) = lu(k,3088) - lu(k,1117) * lu(k,3013)
         lu(k,3663) = lu(k,3663) - lu(k,1103) * lu(k,3656)
         lu(k,3679) = lu(k,3679) - lu(k,1104) * lu(k,3656)
         lu(k,3694) = lu(k,3694) - lu(k,1105) * lu(k,3656)
         lu(k,3720) = - lu(k,1106) * lu(k,3656)
         lu(k,3724) = lu(k,3724) - lu(k,1107) * lu(k,3656)
         lu(k,3725) = lu(k,3725) - lu(k,1108) * lu(k,3656)
         lu(k,3733) = lu(k,3733) - lu(k,1109) * lu(k,3656)
         lu(k,3735) = lu(k,3735) - lu(k,1110) * lu(k,3656)
         lu(k,3736) = lu(k,3736) - lu(k,1111) * lu(k,3656)
         lu(k,3738) = lu(k,3738) - lu(k,1112) * lu(k,3656)
         lu(k,3743) = lu(k,3743) - lu(k,1113) * lu(k,3656)
         lu(k,3744) = lu(k,3744) - lu(k,1114) * lu(k,3656)
         lu(k,3746) = lu(k,3746) - lu(k,1115) * lu(k,3656)
         lu(k,3748) = lu(k,3748) - lu(k,1116) * lu(k,3656)
         lu(k,3752) = lu(k,3752) - lu(k,1117) * lu(k,3656)
         lu(k,1118) = 1._r8 / lu(k,1118)
         lu(k,1119) = lu(k,1119) * lu(k,1118)
         lu(k,1120) = lu(k,1120) * lu(k,1118)
         lu(k,1121) = lu(k,1121) * lu(k,1118)
         lu(k,1122) = lu(k,1122) * lu(k,1118)
         lu(k,1123) = lu(k,1123) * lu(k,1118)
         lu(k,1284) = lu(k,1284) - lu(k,1119) * lu(k,1283)
         lu(k,1300) = lu(k,1300) - lu(k,1120) * lu(k,1283)
         lu(k,1301) = lu(k,1301) - lu(k,1121) * lu(k,1283)
         lu(k,1303) = lu(k,1303) - lu(k,1122) * lu(k,1283)
         lu(k,1304) = - lu(k,1123) * lu(k,1283)
         lu(k,2386) = lu(k,2386) - lu(k,1119) * lu(k,2385)
         lu(k,2404) = lu(k,2404) - lu(k,1120) * lu(k,2385)
         lu(k,2405) = lu(k,2405) - lu(k,1121) * lu(k,2385)
         lu(k,2408) = lu(k,2408) - lu(k,1122) * lu(k,2385)
         lu(k,2411) = - lu(k,1123) * lu(k,2385)
         lu(k,2415) = lu(k,2415) - lu(k,1119) * lu(k,2414)
         lu(k,2431) = lu(k,2431) - lu(k,1120) * lu(k,2414)
         lu(k,2432) = lu(k,2432) - lu(k,1121) * lu(k,2414)
         lu(k,2435) = lu(k,2435) - lu(k,1122) * lu(k,2414)
         lu(k,2438) = - lu(k,1123) * lu(k,2414)
         lu(k,2809) = lu(k,2809) - lu(k,1119) * lu(k,2808)
         lu(k,2889) = lu(k,2889) - lu(k,1120) * lu(k,2808)
         lu(k,2891) = lu(k,2891) - lu(k,1121) * lu(k,2808)
         lu(k,2895) = lu(k,2895) - lu(k,1122) * lu(k,2808)
         lu(k,2899) = lu(k,2899) - lu(k,1123) * lu(k,2808)
         lu(k,2922) = lu(k,2922) - lu(k,1119) * lu(k,2921)
         lu(k,2990) = lu(k,2990) - lu(k,1120) * lu(k,2921)
         lu(k,2992) = lu(k,2992) - lu(k,1121) * lu(k,2921)
         lu(k,2996) = lu(k,2996) - lu(k,1122) * lu(k,2921)
         lu(k,3000) = lu(k,3000) - lu(k,1123) * lu(k,2921)
         lu(k,3015) = lu(k,3015) - lu(k,1119) * lu(k,3014)
         lu(k,3082) = lu(k,3082) - lu(k,1120) * lu(k,3014)
         lu(k,3084) = lu(k,3084) - lu(k,1121) * lu(k,3014)
         lu(k,3088) = lu(k,3088) - lu(k,1122) * lu(k,3014)
         lu(k,3092) = - lu(k,1123) * lu(k,3014)
         lu(k,3202) = lu(k,3202) - lu(k,1119) * lu(k,3201)
         lu(k,3285) = lu(k,3285) - lu(k,1120) * lu(k,3201)
         lu(k,3287) = lu(k,3287) - lu(k,1121) * lu(k,3201)
         lu(k,3291) = lu(k,3291) - lu(k,1122) * lu(k,3201)
         lu(k,3295) = lu(k,3295) - lu(k,1123) * lu(k,3201)
         lu(k,3325) = lu(k,3325) - lu(k,1119) * lu(k,3324)
         lu(k,3335) = lu(k,3335) - lu(k,1120) * lu(k,3324)
         lu(k,3337) = lu(k,3337) - lu(k,1121) * lu(k,3324)
         lu(k,3341) = lu(k,3341) - lu(k,1122) * lu(k,3324)
         lu(k,3345) = lu(k,3345) - lu(k,1123) * lu(k,3324)
         lu(k,3658) = lu(k,3658) - lu(k,1119) * lu(k,3657)
         lu(k,3746) = lu(k,3746) - lu(k,1120) * lu(k,3657)
         lu(k,3748) = lu(k,3748) - lu(k,1121) * lu(k,3657)
         lu(k,3752) = lu(k,3752) - lu(k,1122) * lu(k,3657)
         lu(k,3756) = lu(k,3756) - lu(k,1123) * lu(k,3657)
         lu(k,1124) = 1._r8 / lu(k,1124)
         lu(k,1125) = lu(k,1125) * lu(k,1124)
         lu(k,1126) = lu(k,1126) * lu(k,1124)
         lu(k,1127) = lu(k,1127) * lu(k,1124)
         lu(k,1205) = lu(k,1205) - lu(k,1125) * lu(k,1196)
         lu(k,1209) = lu(k,1209) - lu(k,1126) * lu(k,1196)
         lu(k,1210) = lu(k,1210) - lu(k,1127) * lu(k,1196)
         lu(k,1300) = lu(k,1300) - lu(k,1125) * lu(k,1284)
         lu(k,1303) = lu(k,1303) - lu(k,1126) * lu(k,1284)
         lu(k,1304) = lu(k,1304) - lu(k,1127) * lu(k,1284)
         lu(k,1759) = lu(k,1759) - lu(k,1125) * lu(k,1745)
         lu(k,1763) = lu(k,1763) - lu(k,1126) * lu(k,1745)
         lu(k,1764) = lu(k,1764) - lu(k,1127) * lu(k,1745)
         lu(k,1790) = lu(k,1790) - lu(k,1125) * lu(k,1771)
         lu(k,1794) = lu(k,1794) - lu(k,1126) * lu(k,1771)
         lu(k,1795) = - lu(k,1127) * lu(k,1771)
         lu(k,1870) = lu(k,1870) - lu(k,1125) * lu(k,1853)
         lu(k,1874) = lu(k,1874) - lu(k,1126) * lu(k,1853)
         lu(k,1875) = - lu(k,1127) * lu(k,1853)
         lu(k,2042) = lu(k,2042) - lu(k,1125) * lu(k,2011)
         lu(k,2047) = lu(k,2047) - lu(k,1126) * lu(k,2011)
         lu(k,2050) = - lu(k,1127) * lu(k,2011)
         lu(k,2404) = lu(k,2404) - lu(k,1125) * lu(k,2386)
         lu(k,2408) = lu(k,2408) - lu(k,1126) * lu(k,2386)
         lu(k,2411) = lu(k,2411) - lu(k,1127) * lu(k,2386)
         lu(k,2431) = lu(k,2431) - lu(k,1125) * lu(k,2415)
         lu(k,2435) = lu(k,2435) - lu(k,1126) * lu(k,2415)
         lu(k,2438) = lu(k,2438) - lu(k,1127) * lu(k,2415)
         lu(k,2889) = lu(k,2889) - lu(k,1125) * lu(k,2809)
         lu(k,2895) = lu(k,2895) - lu(k,1126) * lu(k,2809)
         lu(k,2899) = lu(k,2899) - lu(k,1127) * lu(k,2809)
         lu(k,2990) = lu(k,2990) - lu(k,1125) * lu(k,2922)
         lu(k,2996) = lu(k,2996) - lu(k,1126) * lu(k,2922)
         lu(k,3000) = lu(k,3000) - lu(k,1127) * lu(k,2922)
         lu(k,3082) = lu(k,3082) - lu(k,1125) * lu(k,3015)
         lu(k,3088) = lu(k,3088) - lu(k,1126) * lu(k,3015)
         lu(k,3092) = lu(k,3092) - lu(k,1127) * lu(k,3015)
         lu(k,3285) = lu(k,3285) - lu(k,1125) * lu(k,3202)
         lu(k,3291) = lu(k,3291) - lu(k,1126) * lu(k,3202)
         lu(k,3295) = lu(k,3295) - lu(k,1127) * lu(k,3202)
         lu(k,3335) = lu(k,3335) - lu(k,1125) * lu(k,3325)
         lu(k,3341) = lu(k,3341) - lu(k,1126) * lu(k,3325)
         lu(k,3345) = lu(k,3345) - lu(k,1127) * lu(k,3325)
         lu(k,3746) = lu(k,3746) - lu(k,1125) * lu(k,3658)
         lu(k,3752) = lu(k,3752) - lu(k,1126) * lu(k,3658)
         lu(k,3756) = lu(k,3756) - lu(k,1127) * lu(k,3658)
         lu(k,3827) = lu(k,3827) - lu(k,1125) * lu(k,3809)
         lu(k,3833) = lu(k,3833) - lu(k,1126) * lu(k,3809)
         lu(k,3837) = lu(k,3837) - lu(k,1127) * lu(k,3809)
         lu(k,1132) = 1._r8 / lu(k,1132)
         lu(k,1133) = lu(k,1133) * lu(k,1132)
         lu(k,1134) = lu(k,1134) * lu(k,1132)
         lu(k,1135) = lu(k,1135) * lu(k,1132)
         lu(k,1136) = lu(k,1136) * lu(k,1132)
         lu(k,1137) = lu(k,1137) * lu(k,1132)
         lu(k,1138) = lu(k,1138) * lu(k,1132)
         lu(k,1139) = lu(k,1139) * lu(k,1132)
         lu(k,1140) = lu(k,1140) * lu(k,1132)
         lu(k,1141) = lu(k,1141) * lu(k,1132)
         lu(k,2817) = lu(k,2817) - lu(k,1133) * lu(k,2810)
         lu(k,2820) = lu(k,2820) - lu(k,1134) * lu(k,2810)
         lu(k,2864) = lu(k,2864) - lu(k,1135) * lu(k,2810)
         lu(k,2882) = lu(k,2882) - lu(k,1136) * lu(k,2810)
         lu(k,2885) = lu(k,2885) - lu(k,1137) * lu(k,2810)
         lu(k,2889) = lu(k,2889) - lu(k,1138) * lu(k,2810)
         lu(k,2891) = lu(k,2891) - lu(k,1139) * lu(k,2810)
         lu(k,2894) = lu(k,2894) - lu(k,1140) * lu(k,2810)
         lu(k,2895) = lu(k,2895) - lu(k,1141) * lu(k,2810)
         lu(k,2928) = - lu(k,1133) * lu(k,2923)
         lu(k,2931) = lu(k,2931) - lu(k,1134) * lu(k,2923)
         lu(k,2965) = lu(k,2965) - lu(k,1135) * lu(k,2923)
         lu(k,2983) = lu(k,2983) - lu(k,1136) * lu(k,2923)
         lu(k,2986) = lu(k,2986) - lu(k,1137) * lu(k,2923)
         lu(k,2990) = lu(k,2990) - lu(k,1138) * lu(k,2923)
         lu(k,2992) = lu(k,2992) - lu(k,1139) * lu(k,2923)
         lu(k,2995) = lu(k,2995) - lu(k,1140) * lu(k,2923)
         lu(k,2996) = lu(k,2996) - lu(k,1141) * lu(k,2923)
         lu(k,3020) = - lu(k,1133) * lu(k,3016)
         lu(k,3022) = lu(k,3022) - lu(k,1134) * lu(k,3016)
         lu(k,3057) = lu(k,3057) - lu(k,1135) * lu(k,3016)
         lu(k,3075) = lu(k,3075) - lu(k,1136) * lu(k,3016)
         lu(k,3078) = lu(k,3078) - lu(k,1137) * lu(k,3016)
         lu(k,3082) = lu(k,3082) - lu(k,1138) * lu(k,3016)
         lu(k,3084) = lu(k,3084) - lu(k,1139) * lu(k,3016)
         lu(k,3087) = lu(k,3087) - lu(k,1140) * lu(k,3016)
         lu(k,3088) = lu(k,3088) - lu(k,1141) * lu(k,3016)
         lu(k,3210) = lu(k,3210) - lu(k,1133) * lu(k,3203)
         lu(k,3213) = lu(k,3213) - lu(k,1134) * lu(k,3203)
         lu(k,3260) = lu(k,3260) - lu(k,1135) * lu(k,3203)
         lu(k,3278) = lu(k,3278) - lu(k,1136) * lu(k,3203)
         lu(k,3281) = lu(k,3281) - lu(k,1137) * lu(k,3203)
         lu(k,3285) = lu(k,3285) - lu(k,1138) * lu(k,3203)
         lu(k,3287) = lu(k,3287) - lu(k,1139) * lu(k,3203)
         lu(k,3290) = lu(k,3290) - lu(k,1140) * lu(k,3203)
         lu(k,3291) = lu(k,3291) - lu(k,1141) * lu(k,3203)
         lu(k,3670) = lu(k,3670) - lu(k,1133) * lu(k,3659)
         lu(k,3674) = lu(k,3674) - lu(k,1134) * lu(k,3659)
         lu(k,3721) = lu(k,3721) - lu(k,1135) * lu(k,3659)
         lu(k,3739) = lu(k,3739) - lu(k,1136) * lu(k,3659)
         lu(k,3742) = lu(k,3742) - lu(k,1137) * lu(k,3659)
         lu(k,3746) = lu(k,3746) - lu(k,1138) * lu(k,3659)
         lu(k,3748) = lu(k,3748) - lu(k,1139) * lu(k,3659)
         lu(k,3751) = lu(k,3751) - lu(k,1140) * lu(k,3659)
         lu(k,3752) = lu(k,3752) - lu(k,1141) * lu(k,3659)
         lu(k,1144) = 1._r8 / lu(k,1144)
         lu(k,1145) = lu(k,1145) * lu(k,1144)
         lu(k,1146) = lu(k,1146) * lu(k,1144)
         lu(k,1147) = lu(k,1147) * lu(k,1144)
         lu(k,1148) = lu(k,1148) * lu(k,1144)
         lu(k,1149) = lu(k,1149) * lu(k,1144)
         lu(k,1150) = lu(k,1150) * lu(k,1144)
         lu(k,1151) = lu(k,1151) * lu(k,1144)
         lu(k,1152) = lu(k,1152) * lu(k,1144)
         lu(k,1153) = lu(k,1153) * lu(k,1144)
         lu(k,2296) = lu(k,2296) - lu(k,1145) * lu(k,2295)
         lu(k,2299) = lu(k,2299) - lu(k,1146) * lu(k,2295)
         lu(k,2302) = lu(k,2302) - lu(k,1147) * lu(k,2295)
         lu(k,2304) = - lu(k,1148) * lu(k,2295)
         lu(k,2315) = lu(k,2315) - lu(k,1149) * lu(k,2295)
         lu(k,2317) = lu(k,2317) - lu(k,1150) * lu(k,2295)
         lu(k,2320) = lu(k,2320) - lu(k,1151) * lu(k,2295)
         lu(k,2321) = lu(k,2321) - lu(k,1152) * lu(k,2295)
         lu(k,2322) = lu(k,2322) - lu(k,1153) * lu(k,2295)
         lu(k,2355) = lu(k,2355) - lu(k,1145) * lu(k,2354)
         lu(k,2358) = lu(k,2358) - lu(k,1146) * lu(k,2354)
         lu(k,2362) = lu(k,2362) - lu(k,1147) * lu(k,2354)
         lu(k,2363) = - lu(k,1148) * lu(k,2354)
         lu(k,2376) = lu(k,2376) - lu(k,1149) * lu(k,2354)
         lu(k,2378) = lu(k,2378) - lu(k,1150) * lu(k,2354)
         lu(k,2381) = lu(k,2381) - lu(k,1151) * lu(k,2354)
         lu(k,2382) = lu(k,2382) - lu(k,1152) * lu(k,2354)
         lu(k,2383) = lu(k,2383) - lu(k,1153) * lu(k,2354)
         lu(k,2812) = lu(k,2812) - lu(k,1145) * lu(k,2811)
         lu(k,2831) = lu(k,2831) - lu(k,1146) * lu(k,2811)
         lu(k,2867) = lu(k,2867) - lu(k,1147) * lu(k,2811)
         lu(k,2872) = lu(k,2872) - lu(k,1148) * lu(k,2811)
         lu(k,2885) = lu(k,2885) - lu(k,1149) * lu(k,2811)
         lu(k,2889) = lu(k,2889) - lu(k,1150) * lu(k,2811)
         lu(k,2894) = lu(k,2894) - lu(k,1151) * lu(k,2811)
         lu(k,2895) = lu(k,2895) - lu(k,1152) * lu(k,2811)
         lu(k,2899) = lu(k,2899) - lu(k,1153) * lu(k,2811)
         lu(k,3205) = lu(k,3205) - lu(k,1145) * lu(k,3204)
         lu(k,3227) = lu(k,3227) - lu(k,1146) * lu(k,3204)
         lu(k,3263) = lu(k,3263) - lu(k,1147) * lu(k,3204)
         lu(k,3268) = lu(k,3268) - lu(k,1148) * lu(k,3204)
         lu(k,3281) = lu(k,3281) - lu(k,1149) * lu(k,3204)
         lu(k,3285) = lu(k,3285) - lu(k,1150) * lu(k,3204)
         lu(k,3290) = lu(k,3290) - lu(k,1151) * lu(k,3204)
         lu(k,3291) = lu(k,3291) - lu(k,1152) * lu(k,3204)
         lu(k,3295) = lu(k,3295) - lu(k,1153) * lu(k,3204)
         lu(k,3661) = lu(k,3661) - lu(k,1145) * lu(k,3660)
         lu(k,3688) = lu(k,3688) - lu(k,1146) * lu(k,3660)
         lu(k,3724) = lu(k,3724) - lu(k,1147) * lu(k,3660)
         lu(k,3729) = lu(k,3729) - lu(k,1148) * lu(k,3660)
         lu(k,3742) = lu(k,3742) - lu(k,1149) * lu(k,3660)
         lu(k,3746) = lu(k,3746) - lu(k,1150) * lu(k,3660)
         lu(k,3751) = lu(k,3751) - lu(k,1151) * lu(k,3660)
         lu(k,3752) = lu(k,3752) - lu(k,1152) * lu(k,3660)
         lu(k,3756) = lu(k,3756) - lu(k,1153) * lu(k,3660)
      end do
      end subroutine lu_fac25
      subroutine lu_fac26( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,1154) = 1._r8 / lu(k,1154)
         lu(k,1155) = lu(k,1155) * lu(k,1154)
         lu(k,1156) = lu(k,1156) * lu(k,1154)
         lu(k,1157) = lu(k,1157) * lu(k,1154)
         lu(k,1158) = lu(k,1158) * lu(k,1154)
         lu(k,1159) = lu(k,1159) * lu(k,1154)
         lu(k,1589) = lu(k,1589) - lu(k,1155) * lu(k,1588)
         lu(k,1593) = - lu(k,1156) * lu(k,1588)
         lu(k,1595) = lu(k,1595) - lu(k,1157) * lu(k,1588)
         lu(k,1596) = lu(k,1596) - lu(k,1158) * lu(k,1588)
         lu(k,1597) = lu(k,1597) - lu(k,1159) * lu(k,1588)
         lu(k,1602) = lu(k,1602) - lu(k,1155) * lu(k,1600)
         lu(k,1606) = lu(k,1606) - lu(k,1156) * lu(k,1600)
         lu(k,1608) = lu(k,1608) - lu(k,1157) * lu(k,1600)
         lu(k,1609) = lu(k,1609) - lu(k,1158) * lu(k,1600)
         lu(k,1610) = lu(k,1610) - lu(k,1159) * lu(k,1600)
         lu(k,2118) = lu(k,2118) - lu(k,1155) * lu(k,2115)
         lu(k,2128) = lu(k,2128) - lu(k,1156) * lu(k,2115)
         lu(k,2131) = lu(k,2131) - lu(k,1157) * lu(k,2115)
         lu(k,2134) = lu(k,2134) - lu(k,1158) * lu(k,2115)
         lu(k,2135) = lu(k,2135) - lu(k,1159) * lu(k,2115)
         lu(k,2299) = lu(k,2299) - lu(k,1155) * lu(k,2296)
         lu(k,2313) = lu(k,2313) - lu(k,1156) * lu(k,2296)
         lu(k,2317) = lu(k,2317) - lu(k,1157) * lu(k,2296)
         lu(k,2320) = lu(k,2320) - lu(k,1158) * lu(k,2296)
         lu(k,2321) = lu(k,2321) - lu(k,1159) * lu(k,2296)
         lu(k,2329) = lu(k,2329) - lu(k,1155) * lu(k,2326)
         lu(k,2340) = lu(k,2340) - lu(k,1156) * lu(k,2326)
         lu(k,2344) = lu(k,2344) - lu(k,1157) * lu(k,2326)
         lu(k,2347) = lu(k,2347) - lu(k,1158) * lu(k,2326)
         lu(k,2348) = lu(k,2348) - lu(k,1159) * lu(k,2326)
         lu(k,2358) = lu(k,2358) - lu(k,1155) * lu(k,2355)
         lu(k,2374) = lu(k,2374) - lu(k,1156) * lu(k,2355)
         lu(k,2378) = lu(k,2378) - lu(k,1157) * lu(k,2355)
         lu(k,2381) = lu(k,2381) - lu(k,1158) * lu(k,2355)
         lu(k,2382) = lu(k,2382) - lu(k,1159) * lu(k,2355)
         lu(k,2831) = lu(k,2831) - lu(k,1155) * lu(k,2812)
         lu(k,2883) = lu(k,2883) - lu(k,1156) * lu(k,2812)
         lu(k,2889) = lu(k,2889) - lu(k,1157) * lu(k,2812)
         lu(k,2894) = lu(k,2894) - lu(k,1158) * lu(k,2812)
         lu(k,2895) = lu(k,2895) - lu(k,1159) * lu(k,2812)
         lu(k,3227) = lu(k,3227) - lu(k,1155) * lu(k,3205)
         lu(k,3279) = lu(k,3279) - lu(k,1156) * lu(k,3205)
         lu(k,3285) = lu(k,3285) - lu(k,1157) * lu(k,3205)
         lu(k,3290) = lu(k,3290) - lu(k,1158) * lu(k,3205)
         lu(k,3291) = lu(k,3291) - lu(k,1159) * lu(k,3205)
         lu(k,3688) = lu(k,3688) - lu(k,1155) * lu(k,3661)
         lu(k,3740) = lu(k,3740) - lu(k,1156) * lu(k,3661)
         lu(k,3746) = lu(k,3746) - lu(k,1157) * lu(k,3661)
         lu(k,3751) = lu(k,3751) - lu(k,1158) * lu(k,3661)
         lu(k,3752) = lu(k,3752) - lu(k,1159) * lu(k,3661)
         lu(k,1161) = 1._r8 / lu(k,1161)
         lu(k,1162) = lu(k,1162) * lu(k,1161)
         lu(k,1163) = lu(k,1163) * lu(k,1161)
         lu(k,1164) = lu(k,1164) * lu(k,1161)
         lu(k,1165) = lu(k,1165) * lu(k,1161)
         lu(k,1166) = lu(k,1166) * lu(k,1161)
         lu(k,1513) = lu(k,1513) - lu(k,1162) * lu(k,1512)
         lu(k,1518) = - lu(k,1163) * lu(k,1512)
         lu(k,1520) = lu(k,1520) - lu(k,1164) * lu(k,1512)
         lu(k,1522) = lu(k,1522) - lu(k,1165) * lu(k,1512)
         lu(k,1525) = - lu(k,1166) * lu(k,1512)
         lu(k,2938) = lu(k,2938) - lu(k,1162) * lu(k,2924)
         lu(k,2990) = lu(k,2990) - lu(k,1163) * lu(k,2924)
         lu(k,2994) = lu(k,2994) - lu(k,1164) * lu(k,2924)
         lu(k,2996) = lu(k,2996) - lu(k,1165) * lu(k,2924)
         lu(k,3000) = lu(k,3000) - lu(k,1166) * lu(k,2924)
         lu(k,3030) = - lu(k,1162) * lu(k,3017)
         lu(k,3082) = lu(k,3082) - lu(k,1163) * lu(k,3017)
         lu(k,3086) = lu(k,3086) - lu(k,1164) * lu(k,3017)
         lu(k,3088) = lu(k,3088) - lu(k,1165) * lu(k,3017)
         lu(k,3092) = lu(k,3092) - lu(k,1166) * lu(k,3017)
         lu(k,3303) = lu(k,3303) - lu(k,1162) * lu(k,3301)
         lu(k,3311) = lu(k,3311) - lu(k,1163) * lu(k,3301)
         lu(k,3315) = lu(k,3315) - lu(k,1164) * lu(k,3301)
         lu(k,3317) = lu(k,3317) - lu(k,1165) * lu(k,3301)
         lu(k,3321) = lu(k,3321) - lu(k,1166) * lu(k,3301)
         lu(k,3447) = lu(k,3447) - lu(k,1162) * lu(k,3443)
         lu(k,3456) = lu(k,3456) - lu(k,1163) * lu(k,3443)
         lu(k,3460) = lu(k,3460) - lu(k,1164) * lu(k,3443)
         lu(k,3462) = lu(k,3462) - lu(k,1165) * lu(k,3443)
         lu(k,3466) = lu(k,3466) - lu(k,1166) * lu(k,3443)
         lu(k,3489) = lu(k,3489) - lu(k,1162) * lu(k,3484)
         lu(k,3506) = lu(k,3506) - lu(k,1163) * lu(k,3484)
         lu(k,3510) = lu(k,3510) - lu(k,1164) * lu(k,3484)
         lu(k,3512) = lu(k,3512) - lu(k,1165) * lu(k,3484)
         lu(k,3516) = lu(k,3516) - lu(k,1166) * lu(k,3484)
         lu(k,3692) = lu(k,3692) - lu(k,1162) * lu(k,3662)
         lu(k,3746) = lu(k,3746) - lu(k,1163) * lu(k,3662)
         lu(k,3750) = lu(k,3750) - lu(k,1164) * lu(k,3662)
         lu(k,3752) = lu(k,3752) - lu(k,1165) * lu(k,3662)
         lu(k,3756) = lu(k,3756) - lu(k,1166) * lu(k,3662)
         lu(k,3784) = lu(k,3784) - lu(k,1162) * lu(k,3783)
         lu(k,3792) = lu(k,3792) - lu(k,1163) * lu(k,3783)
         lu(k,3796) = lu(k,3796) - lu(k,1164) * lu(k,3783)
         lu(k,3798) = lu(k,3798) - lu(k,1165) * lu(k,3783)
         lu(k,3802) = lu(k,3802) - lu(k,1166) * lu(k,3783)
         lu(k,3844) = - lu(k,1162) * lu(k,3842)
         lu(k,3852) = - lu(k,1163) * lu(k,3842)
         lu(k,3856) = lu(k,3856) - lu(k,1164) * lu(k,3842)
         lu(k,3858) = lu(k,3858) - lu(k,1165) * lu(k,3842)
         lu(k,3862) = lu(k,3862) - lu(k,1166) * lu(k,3842)
         lu(k,1167) = 1._r8 / lu(k,1167)
         lu(k,1168) = lu(k,1168) * lu(k,1167)
         lu(k,1169) = lu(k,1169) * lu(k,1167)
         lu(k,1170) = lu(k,1170) * lu(k,1167)
         lu(k,1171) = lu(k,1171) * lu(k,1167)
         lu(k,1172) = lu(k,1172) * lu(k,1167)
         lu(k,1173) = lu(k,1173) * lu(k,1167)
         lu(k,1174) = lu(k,1174) * lu(k,1167)
         lu(k,2443) = - lu(k,1168) * lu(k,2440)
         lu(k,2447) = lu(k,2447) - lu(k,1169) * lu(k,2440)
         lu(k,2448) = lu(k,2448) - lu(k,1170) * lu(k,2440)
         lu(k,2452) = - lu(k,1171) * lu(k,2440)
         lu(k,2455) = lu(k,2455) - lu(k,1172) * lu(k,2440)
         lu(k,2456) = lu(k,2456) - lu(k,1173) * lu(k,2440)
         lu(k,2460) = lu(k,2460) - lu(k,1174) * lu(k,2440)
         lu(k,2602) = lu(k,2602) - lu(k,1168) * lu(k,2599)
         lu(k,2624) = lu(k,2624) - lu(k,1169) * lu(k,2599)
         lu(k,2625) = lu(k,2625) - lu(k,1170) * lu(k,2599)
         lu(k,2629) = - lu(k,1171) * lu(k,2599)
         lu(k,2633) = lu(k,2633) - lu(k,1172) * lu(k,2599)
         lu(k,2634) = lu(k,2634) - lu(k,1173) * lu(k,2599)
         lu(k,2639) = lu(k,2639) - lu(k,1174) * lu(k,2599)
         lu(k,2940) = lu(k,2940) - lu(k,1168) * lu(k,2925)
         lu(k,2979) = lu(k,2979) - lu(k,1169) * lu(k,2925)
         lu(k,2980) = lu(k,2980) - lu(k,1170) * lu(k,2925)
         lu(k,2984) = - lu(k,1171) * lu(k,2925)
         lu(k,2988) = lu(k,2988) - lu(k,1172) * lu(k,2925)
         lu(k,2990) = lu(k,2990) - lu(k,1173) * lu(k,2925)
         lu(k,2996) = lu(k,2996) - lu(k,1174) * lu(k,2925)
         lu(k,3031) = lu(k,3031) - lu(k,1168) * lu(k,3018)
         lu(k,3071) = lu(k,3071) - lu(k,1169) * lu(k,3018)
         lu(k,3072) = lu(k,3072) - lu(k,1170) * lu(k,3018)
         lu(k,3076) = lu(k,3076) - lu(k,1171) * lu(k,3018)
         lu(k,3080) = lu(k,3080) - lu(k,1172) * lu(k,3018)
         lu(k,3082) = lu(k,3082) - lu(k,1173) * lu(k,3018)
         lu(k,3088) = lu(k,3088) - lu(k,1174) * lu(k,3018)
         lu(k,3374) = lu(k,3374) - lu(k,1168) * lu(k,3355)
         lu(k,3415) = lu(k,3415) - lu(k,1169) * lu(k,3355)
         lu(k,3416) = lu(k,3416) - lu(k,1170) * lu(k,3355)
         lu(k,3420) = lu(k,3420) - lu(k,1171) * lu(k,3355)
         lu(k,3424) = - lu(k,1172) * lu(k,3355)
         lu(k,3426) = lu(k,3426) - lu(k,1173) * lu(k,3355)
         lu(k,3432) = lu(k,3432) - lu(k,1174) * lu(k,3355)
         lu(k,3490) = lu(k,3490) - lu(k,1168) * lu(k,3485)
         lu(k,3495) = - lu(k,1169) * lu(k,3485)
         lu(k,3496) = lu(k,3496) - lu(k,1170) * lu(k,3485)
         lu(k,3500) = lu(k,3500) - lu(k,1171) * lu(k,3485)
         lu(k,3504) = lu(k,3504) - lu(k,1172) * lu(k,3485)
         lu(k,3506) = lu(k,3506) - lu(k,1173) * lu(k,3485)
         lu(k,3512) = lu(k,3512) - lu(k,1174) * lu(k,3485)
         lu(k,3694) = lu(k,3694) - lu(k,1168) * lu(k,3663)
         lu(k,3735) = lu(k,3735) - lu(k,1169) * lu(k,3663)
         lu(k,3736) = lu(k,3736) - lu(k,1170) * lu(k,3663)
         lu(k,3740) = lu(k,3740) - lu(k,1171) * lu(k,3663)
         lu(k,3744) = lu(k,3744) - lu(k,1172) * lu(k,3663)
         lu(k,3746) = lu(k,3746) - lu(k,1173) * lu(k,3663)
         lu(k,3752) = lu(k,3752) - lu(k,1174) * lu(k,3663)
         lu(k,1176) = 1._r8 / lu(k,1176)
         lu(k,1177) = lu(k,1177) * lu(k,1176)
         lu(k,1178) = lu(k,1178) * lu(k,1176)
         lu(k,1179) = lu(k,1179) * lu(k,1176)
         lu(k,1260) = lu(k,1260) - lu(k,1177) * lu(k,1254)
         lu(k,1266) = lu(k,1266) - lu(k,1178) * lu(k,1254)
         lu(k,1269) = lu(k,1269) - lu(k,1179) * lu(k,1254)
         lu(k,1406) = lu(k,1406) - lu(k,1177) * lu(k,1403)
         lu(k,1411) = lu(k,1411) - lu(k,1178) * lu(k,1403)
         lu(k,1413) = lu(k,1413) - lu(k,1179) * lu(k,1403)
         lu(k,1443) = lu(k,1443) - lu(k,1177) * lu(k,1431)
         lu(k,1455) = lu(k,1455) - lu(k,1178) * lu(k,1431)
         lu(k,1459) = lu(k,1459) - lu(k,1179) * lu(k,1431)
         lu(k,1470) = lu(k,1470) - lu(k,1177) * lu(k,1468)
         lu(k,1471) = lu(k,1471) - lu(k,1178) * lu(k,1468)
         lu(k,1473) = lu(k,1473) - lu(k,1179) * lu(k,1468)
         lu(k,1481) = lu(k,1481) - lu(k,1177) * lu(k,1475)
         lu(k,1490) = lu(k,1490) - lu(k,1178) * lu(k,1475)
         lu(k,1493) = lu(k,1493) - lu(k,1179) * lu(k,1475)
         lu(k,1530) = lu(k,1530) - lu(k,1177) * lu(k,1527)
         lu(k,1536) = lu(k,1536) - lu(k,1178) * lu(k,1527)
         lu(k,1539) = lu(k,1539) - lu(k,1179) * lu(k,1527)
         lu(k,1632) = lu(k,1632) - lu(k,1177) * lu(k,1628)
         lu(k,1640) = - lu(k,1178) * lu(k,1628)
         lu(k,1643) = lu(k,1643) - lu(k,1179) * lu(k,1628)
         lu(k,1886) = lu(k,1886) - lu(k,1177) * lu(k,1880)
         lu(k,1906) = lu(k,1906) - lu(k,1178) * lu(k,1880)
         lu(k,1910) = lu(k,1910) - lu(k,1179) * lu(k,1880)
         lu(k,1923) = lu(k,1923) - lu(k,1177) * lu(k,1914)
         lu(k,1938) = lu(k,1938) - lu(k,1178) * lu(k,1914)
         lu(k,1942) = lu(k,1942) - lu(k,1179) * lu(k,1914)
         lu(k,1957) = lu(k,1957) - lu(k,1177) * lu(k,1948)
         lu(k,1972) = lu(k,1972) - lu(k,1178) * lu(k,1948)
         lu(k,1976) = lu(k,1976) - lu(k,1179) * lu(k,1948)
         lu(k,1986) = lu(k,1986) - lu(k,1177) * lu(k,1980)
         lu(k,2000) = lu(k,2000) - lu(k,1178) * lu(k,1980)
         lu(k,2004) = lu(k,2004) - lu(k,1179) * lu(k,1980)
         lu(k,2836) = lu(k,2836) - lu(k,1177) * lu(k,2813)
         lu(k,2889) = lu(k,2889) - lu(k,1178) * lu(k,2813)
         lu(k,2895) = lu(k,2895) - lu(k,1179) * lu(k,2813)
         lu(k,2940) = lu(k,2940) - lu(k,1177) * lu(k,2926)
         lu(k,2990) = lu(k,2990) - lu(k,1178) * lu(k,2926)
         lu(k,2996) = lu(k,2996) - lu(k,1179) * lu(k,2926)
         lu(k,3232) = lu(k,3232) - lu(k,1177) * lu(k,3206)
         lu(k,3285) = lu(k,3285) - lu(k,1178) * lu(k,3206)
         lu(k,3291) = lu(k,3291) - lu(k,1179) * lu(k,3206)
         lu(k,3490) = lu(k,3490) - lu(k,1177) * lu(k,3486)
         lu(k,3506) = lu(k,3506) - lu(k,1178) * lu(k,3486)
         lu(k,3512) = lu(k,3512) - lu(k,1179) * lu(k,3486)
         lu(k,3694) = lu(k,3694) - lu(k,1177) * lu(k,3664)
         lu(k,3746) = lu(k,3746) - lu(k,1178) * lu(k,3664)
         lu(k,3752) = lu(k,3752) - lu(k,1179) * lu(k,3664)
         lu(k,3818) = lu(k,3818) - lu(k,1177) * lu(k,3810)
         lu(k,3827) = lu(k,3827) - lu(k,1178) * lu(k,3810)
         lu(k,3833) = lu(k,3833) - lu(k,1179) * lu(k,3810)
         lu(k,1180) = 1._r8 / lu(k,1180)
         lu(k,1181) = lu(k,1181) * lu(k,1180)
         lu(k,1182) = lu(k,1182) * lu(k,1180)
         lu(k,1183) = lu(k,1183) * lu(k,1180)
         lu(k,1184) = lu(k,1184) * lu(k,1180)
         lu(k,1185) = lu(k,1185) * lu(k,1180)
         lu(k,1186) = lu(k,1186) * lu(k,1180)
         lu(k,1187) = lu(k,1187) * lu(k,1180)
         lu(k,1188) = lu(k,1188) * lu(k,1180)
         lu(k,1189) = lu(k,1189) * lu(k,1180)
         lu(k,1190) = lu(k,1190) * lu(k,1180)
         lu(k,1191) = lu(k,1191) * lu(k,1180)
         lu(k,1192) = lu(k,1192) * lu(k,1180)
         lu(k,1193) = lu(k,1193) * lu(k,1180)
         lu(k,2014) = - lu(k,1181) * lu(k,2012)
         lu(k,2016) = - lu(k,1182) * lu(k,2012)
         lu(k,2017) = lu(k,2017) - lu(k,1183) * lu(k,2012)
         lu(k,2020) = - lu(k,1184) * lu(k,2012)
         lu(k,2022) = lu(k,2022) - lu(k,1185) * lu(k,2012)
         lu(k,2024) = lu(k,2024) - lu(k,1186) * lu(k,2012)
         lu(k,2025) = - lu(k,1187) * lu(k,2012)
         lu(k,2028) = lu(k,2028) - lu(k,1188) * lu(k,2012)
         lu(k,2039) = lu(k,2039) - lu(k,1189) * lu(k,2012)
         lu(k,2042) = lu(k,2042) - lu(k,1190) * lu(k,2012)
         lu(k,2043) = lu(k,2043) - lu(k,1191) * lu(k,2012)
         lu(k,2046) = lu(k,2046) - lu(k,1192) * lu(k,2012)
         lu(k,2047) = lu(k,2047) - lu(k,1193) * lu(k,2012)
         lu(k,2819) = lu(k,2819) - lu(k,1181) * lu(k,2814)
         lu(k,2823) = lu(k,2823) - lu(k,1182) * lu(k,2814)
         lu(k,2824) = lu(k,2824) - lu(k,1183) * lu(k,2814)
         lu(k,2832) = lu(k,2832) - lu(k,1184) * lu(k,2814)
         lu(k,2835) = lu(k,2835) - lu(k,1185) * lu(k,2814)
         lu(k,2841) = lu(k,2841) - lu(k,1186) * lu(k,2814)
         lu(k,2842) = lu(k,2842) - lu(k,1187) * lu(k,2814)
         lu(k,2851) = lu(k,2851) - lu(k,1188) * lu(k,2814)
         lu(k,2885) = lu(k,2885) - lu(k,1189) * lu(k,2814)
         lu(k,2889) = lu(k,2889) - lu(k,1190) * lu(k,2814)
         lu(k,2891) = lu(k,2891) - lu(k,1191) * lu(k,2814)
         lu(k,2894) = lu(k,2894) - lu(k,1192) * lu(k,2814)
         lu(k,2895) = lu(k,2895) - lu(k,1193) * lu(k,2814)
         lu(k,3212) = lu(k,3212) - lu(k,1181) * lu(k,3207)
         lu(k,3216) = lu(k,3216) - lu(k,1182) * lu(k,3207)
         lu(k,3217) = lu(k,3217) - lu(k,1183) * lu(k,3207)
         lu(k,3228) = lu(k,3228) - lu(k,1184) * lu(k,3207)
         lu(k,3231) = lu(k,3231) - lu(k,1185) * lu(k,3207)
         lu(k,3237) = lu(k,3237) - lu(k,1186) * lu(k,3207)
         lu(k,3238) = lu(k,3238) - lu(k,1187) * lu(k,3207)
         lu(k,3247) = lu(k,3247) - lu(k,1188) * lu(k,3207)
         lu(k,3281) = lu(k,3281) - lu(k,1189) * lu(k,3207)
         lu(k,3285) = lu(k,3285) - lu(k,1190) * lu(k,3207)
         lu(k,3287) = lu(k,3287) - lu(k,1191) * lu(k,3207)
         lu(k,3290) = lu(k,3290) - lu(k,1192) * lu(k,3207)
         lu(k,3291) = lu(k,3291) - lu(k,1193) * lu(k,3207)
         lu(k,3672) = lu(k,3672) - lu(k,1181) * lu(k,3665)
         lu(k,3677) = lu(k,3677) - lu(k,1182) * lu(k,3665)
         lu(k,3678) = lu(k,3678) - lu(k,1183) * lu(k,3665)
         lu(k,3689) = lu(k,3689) - lu(k,1184) * lu(k,3665)
         lu(k,3693) = lu(k,3693) - lu(k,1185) * lu(k,3665)
         lu(k,3699) = lu(k,3699) - lu(k,1186) * lu(k,3665)
         lu(k,3700) = lu(k,3700) - lu(k,1187) * lu(k,3665)
         lu(k,3709) = lu(k,3709) - lu(k,1188) * lu(k,3665)
         lu(k,3742) = lu(k,3742) - lu(k,1189) * lu(k,3665)
         lu(k,3746) = lu(k,3746) - lu(k,1190) * lu(k,3665)
         lu(k,3748) = lu(k,3748) - lu(k,1191) * lu(k,3665)
         lu(k,3751) = lu(k,3751) - lu(k,1192) * lu(k,3665)
         lu(k,3752) = lu(k,3752) - lu(k,1193) * lu(k,3665)
      end do
      end subroutine lu_fac26
      subroutine lu_fac27( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,1197) = 1._r8 / lu(k,1197)
         lu(k,1198) = lu(k,1198) * lu(k,1197)
         lu(k,1199) = lu(k,1199) * lu(k,1197)
         lu(k,1200) = lu(k,1200) * lu(k,1197)
         lu(k,1201) = lu(k,1201) * lu(k,1197)
         lu(k,1202) = lu(k,1202) * lu(k,1197)
         lu(k,1203) = lu(k,1203) * lu(k,1197)
         lu(k,1204) = lu(k,1204) * lu(k,1197)
         lu(k,1205) = lu(k,1205) * lu(k,1197)
         lu(k,1206) = lu(k,1206) * lu(k,1197)
         lu(k,1207) = lu(k,1207) * lu(k,1197)
         lu(k,1208) = lu(k,1208) * lu(k,1197)
         lu(k,1209) = lu(k,1209) * lu(k,1197)
         lu(k,1210) = lu(k,1210) * lu(k,1197)
         lu(k,1855) = lu(k,1855) - lu(k,1198) * lu(k,1854)
         lu(k,1856) = - lu(k,1199) * lu(k,1854)
         lu(k,1859) = lu(k,1859) - lu(k,1200) * lu(k,1854)
         lu(k,1860) = - lu(k,1201) * lu(k,1854)
         lu(k,1867) = - lu(k,1202) * lu(k,1854)
         lu(k,1868) = lu(k,1868) - lu(k,1203) * lu(k,1854)
         lu(k,1869) = - lu(k,1204) * lu(k,1854)
         lu(k,1870) = lu(k,1870) - lu(k,1205) * lu(k,1854)
         lu(k,1871) = lu(k,1871) - lu(k,1206) * lu(k,1854)
         lu(k,1872) = lu(k,1872) - lu(k,1207) * lu(k,1854)
         lu(k,1873) = - lu(k,1208) * lu(k,1854)
         lu(k,1874) = lu(k,1874) - lu(k,1209) * lu(k,1854)
         lu(k,1875) = lu(k,1875) - lu(k,1210) * lu(k,1854)
         lu(k,2931) = lu(k,2931) - lu(k,1198) * lu(k,2927)
         lu(k,2932) = lu(k,2932) - lu(k,1199) * lu(k,2927)
         lu(k,2940) = lu(k,2940) - lu(k,1200) * lu(k,2927)
         lu(k,2943) = lu(k,2943) - lu(k,1201) * lu(k,2927)
         lu(k,2986) = lu(k,2986) - lu(k,1202) * lu(k,2927)
         lu(k,2987) = lu(k,2987) - lu(k,1203) * lu(k,2927)
         lu(k,2988) = lu(k,2988) - lu(k,1204) * lu(k,2927)
         lu(k,2990) = lu(k,2990) - lu(k,1205) * lu(k,2927)
         lu(k,2992) = lu(k,2992) - lu(k,1206) * lu(k,2927)
         lu(k,2993) = lu(k,2993) - lu(k,1207) * lu(k,2927)
         lu(k,2995) = lu(k,2995) - lu(k,1208) * lu(k,2927)
         lu(k,2996) = lu(k,2996) - lu(k,1209) * lu(k,2927)
         lu(k,3000) = lu(k,3000) - lu(k,1210) * lu(k,2927)
         lu(k,3022) = lu(k,3022) - lu(k,1198) * lu(k,3019)
         lu(k,3023) = lu(k,3023) - lu(k,1199) * lu(k,3019)
         lu(k,3031) = lu(k,3031) - lu(k,1200) * lu(k,3019)
         lu(k,3036) = lu(k,3036) - lu(k,1201) * lu(k,3019)
         lu(k,3078) = lu(k,3078) - lu(k,1202) * lu(k,3019)
         lu(k,3079) = lu(k,3079) - lu(k,1203) * lu(k,3019)
         lu(k,3080) = lu(k,3080) - lu(k,1204) * lu(k,3019)
         lu(k,3082) = lu(k,3082) - lu(k,1205) * lu(k,3019)
         lu(k,3084) = lu(k,3084) - lu(k,1206) * lu(k,3019)
         lu(k,3085) = lu(k,3085) - lu(k,1207) * lu(k,3019)
         lu(k,3087) = lu(k,3087) - lu(k,1208) * lu(k,3019)
         lu(k,3088) = lu(k,3088) - lu(k,1209) * lu(k,3019)
         lu(k,3092) = lu(k,3092) - lu(k,1210) * lu(k,3019)
         lu(k,3674) = lu(k,3674) - lu(k,1198) * lu(k,3666)
         lu(k,3678) = lu(k,3678) - lu(k,1199) * lu(k,3666)
         lu(k,3694) = lu(k,3694) - lu(k,1200) * lu(k,3666)
         lu(k,3699) = lu(k,3699) - lu(k,1201) * lu(k,3666)
         lu(k,3742) = lu(k,3742) - lu(k,1202) * lu(k,3666)
         lu(k,3743) = lu(k,3743) - lu(k,1203) * lu(k,3666)
         lu(k,3744) = lu(k,3744) - lu(k,1204) * lu(k,3666)
         lu(k,3746) = lu(k,3746) - lu(k,1205) * lu(k,3666)
         lu(k,3748) = lu(k,3748) - lu(k,1206) * lu(k,3666)
         lu(k,3749) = lu(k,3749) - lu(k,1207) * lu(k,3666)
         lu(k,3751) = lu(k,3751) - lu(k,1208) * lu(k,3666)
         lu(k,3752) = lu(k,3752) - lu(k,1209) * lu(k,3666)
         lu(k,3756) = lu(k,3756) - lu(k,1210) * lu(k,3666)
         lu(k,1213) = 1._r8 / lu(k,1213)
         lu(k,1214) = lu(k,1214) * lu(k,1213)
         lu(k,1215) = lu(k,1215) * lu(k,1213)
         lu(k,1216) = lu(k,1216) * lu(k,1213)
         lu(k,1217) = lu(k,1217) * lu(k,1213)
         lu(k,1218) = lu(k,1218) * lu(k,1213)
         lu(k,1219) = lu(k,1219) * lu(k,1213)
         lu(k,1220) = lu(k,1220) * lu(k,1213)
         lu(k,1221) = lu(k,1221) * lu(k,1213)
         lu(k,1222) = lu(k,1222) * lu(k,1213)
         lu(k,3305) = - lu(k,1214) * lu(k,3302)
         lu(k,3309) = - lu(k,1215) * lu(k,3302)
         lu(k,3312) = lu(k,3312) - lu(k,1216) * lu(k,3302)
         lu(k,3315) = lu(k,3315) - lu(k,1217) * lu(k,3302)
         lu(k,3316) = lu(k,3316) - lu(k,1218) * lu(k,3302)
         lu(k,3317) = lu(k,3317) - lu(k,1219) * lu(k,3302)
         lu(k,3318) = lu(k,3318) - lu(k,1220) * lu(k,3302)
         lu(k,3320) = lu(k,3320) - lu(k,1221) * lu(k,3302)
         lu(k,3321) = lu(k,3321) - lu(k,1222) * lu(k,3302)
         lu(k,3450) = lu(k,3450) - lu(k,1214) * lu(k,3444)
         lu(k,3454) = lu(k,3454) - lu(k,1215) * lu(k,3444)
         lu(k,3457) = lu(k,3457) - lu(k,1216) * lu(k,3444)
         lu(k,3460) = lu(k,3460) - lu(k,1217) * lu(k,3444)
         lu(k,3461) = lu(k,3461) - lu(k,1218) * lu(k,3444)
         lu(k,3462) = lu(k,3462) - lu(k,1219) * lu(k,3444)
         lu(k,3463) = lu(k,3463) - lu(k,1220) * lu(k,3444)
         lu(k,3465) = lu(k,3465) - lu(k,1221) * lu(k,3444)
         lu(k,3466) = lu(k,3466) - lu(k,1222) * lu(k,3444)
         lu(k,3500) = lu(k,3500) - lu(k,1214) * lu(k,3487)
         lu(k,3504) = lu(k,3504) - lu(k,1215) * lu(k,3487)
         lu(k,3507) = lu(k,3507) - lu(k,1216) * lu(k,3487)
         lu(k,3510) = lu(k,3510) - lu(k,1217) * lu(k,3487)
         lu(k,3511) = lu(k,3511) - lu(k,1218) * lu(k,3487)
         lu(k,3512) = lu(k,3512) - lu(k,1219) * lu(k,3487)
         lu(k,3513) = lu(k,3513) - lu(k,1220) * lu(k,3487)
         lu(k,3515) = lu(k,3515) - lu(k,1221) * lu(k,3487)
         lu(k,3516) = lu(k,3516) - lu(k,1222) * lu(k,3487)
         lu(k,3740) = lu(k,3740) - lu(k,1214) * lu(k,3667)
         lu(k,3744) = lu(k,3744) - lu(k,1215) * lu(k,3667)
         lu(k,3747) = lu(k,3747) - lu(k,1216) * lu(k,3667)
         lu(k,3750) = lu(k,3750) - lu(k,1217) * lu(k,3667)
         lu(k,3751) = lu(k,3751) - lu(k,1218) * lu(k,3667)
         lu(k,3752) = lu(k,3752) - lu(k,1219) * lu(k,3667)
         lu(k,3753) = lu(k,3753) - lu(k,1220) * lu(k,3667)
         lu(k,3755) = lu(k,3755) - lu(k,1221) * lu(k,3667)
         lu(k,3756) = lu(k,3756) - lu(k,1222) * lu(k,3667)
         lu(k,3763) = lu(k,3763) - lu(k,1214) * lu(k,3761)
         lu(k,3766) = - lu(k,1215) * lu(k,3761)
         lu(k,3769) = lu(k,3769) - lu(k,1216) * lu(k,3761)
         lu(k,3772) = lu(k,3772) - lu(k,1217) * lu(k,3761)
         lu(k,3773) = - lu(k,1218) * lu(k,3761)
         lu(k,3774) = lu(k,3774) - lu(k,1219) * lu(k,3761)
         lu(k,3775) = lu(k,3775) - lu(k,1220) * lu(k,3761)
         lu(k,3777) = lu(k,3777) - lu(k,1221) * lu(k,3761)
         lu(k,3778) = lu(k,3778) - lu(k,1222) * lu(k,3761)
         lu(k,3821) = - lu(k,1214) * lu(k,3811)
         lu(k,3825) = lu(k,3825) - lu(k,1215) * lu(k,3811)
         lu(k,3828) = lu(k,3828) - lu(k,1216) * lu(k,3811)
         lu(k,3831) = lu(k,3831) - lu(k,1217) * lu(k,3811)
         lu(k,3832) = lu(k,3832) - lu(k,1218) * lu(k,3811)
         lu(k,3833) = lu(k,3833) - lu(k,1219) * lu(k,3811)
         lu(k,3834) = lu(k,3834) - lu(k,1220) * lu(k,3811)
         lu(k,3836) = lu(k,3836) - lu(k,1221) * lu(k,3811)
         lu(k,3837) = lu(k,3837) - lu(k,1222) * lu(k,3811)
         lu(k,1224) = 1._r8 / lu(k,1224)
         lu(k,1225) = lu(k,1225) * lu(k,1224)
         lu(k,1226) = lu(k,1226) * lu(k,1224)
         lu(k,1227) = lu(k,1227) * lu(k,1224)
         lu(k,1228) = lu(k,1228) * lu(k,1224)
         lu(k,1229) = lu(k,1229) * lu(k,1224)
         lu(k,1230) = lu(k,1230) * lu(k,1224)
         lu(k,1231) = lu(k,1231) * lu(k,1224)
         lu(k,1232) = lu(k,1232) * lu(k,1224)
         lu(k,1233) = lu(k,1233) * lu(k,1224)
         lu(k,1234) = lu(k,1234) * lu(k,1224)
         lu(k,1235) = lu(k,1235) * lu(k,1224)
         lu(k,2138) = - lu(k,1225) * lu(k,2137)
         lu(k,2139) = - lu(k,1226) * lu(k,2137)
         lu(k,2140) = - lu(k,1227) * lu(k,2137)
         lu(k,2142) = lu(k,2142) - lu(k,1228) * lu(k,2137)
         lu(k,2145) = - lu(k,1229) * lu(k,2137)
         lu(k,2147) = - lu(k,1230) * lu(k,2137)
         lu(k,2148) = - lu(k,1231) * lu(k,2137)
         lu(k,2149) = lu(k,2149) - lu(k,1232) * lu(k,2137)
         lu(k,2150) = - lu(k,1233) * lu(k,2137)
         lu(k,2151) = lu(k,2151) - lu(k,1234) * lu(k,2137)
         lu(k,2152) = lu(k,2152) - lu(k,1235) * lu(k,2137)
         lu(k,2825) = - lu(k,1225) * lu(k,2815)
         lu(k,2841) = lu(k,2841) - lu(k,1226) * lu(k,2815)
         lu(k,2853) = lu(k,2853) - lu(k,1227) * lu(k,2815)
         lu(k,2882) = lu(k,2882) - lu(k,1228) * lu(k,2815)
         lu(k,2885) = lu(k,2885) - lu(k,1229) * lu(k,2815)
         lu(k,2889) = lu(k,2889) - lu(k,1230) * lu(k,2815)
         lu(k,2891) = lu(k,2891) - lu(k,1231) * lu(k,2815)
         lu(k,2892) = lu(k,2892) - lu(k,1232) * lu(k,2815)
         lu(k,2894) = lu(k,2894) - lu(k,1233) * lu(k,2815)
         lu(k,2895) = lu(k,2895) - lu(k,1234) * lu(k,2815)
         lu(k,2899) = lu(k,2899) - lu(k,1235) * lu(k,2815)
         lu(k,3219) = - lu(k,1225) * lu(k,3208)
         lu(k,3237) = lu(k,3237) - lu(k,1226) * lu(k,3208)
         lu(k,3249) = lu(k,3249) - lu(k,1227) * lu(k,3208)
         lu(k,3278) = lu(k,3278) - lu(k,1228) * lu(k,3208)
         lu(k,3281) = lu(k,3281) - lu(k,1229) * lu(k,3208)
         lu(k,3285) = lu(k,3285) - lu(k,1230) * lu(k,3208)
         lu(k,3287) = lu(k,3287) - lu(k,1231) * lu(k,3208)
         lu(k,3288) = lu(k,3288) - lu(k,1232) * lu(k,3208)
         lu(k,3290) = lu(k,3290) - lu(k,1233) * lu(k,3208)
         lu(k,3291) = lu(k,3291) - lu(k,1234) * lu(k,3208)
         lu(k,3295) = lu(k,3295) - lu(k,1235) * lu(k,3208)
         lu(k,3364) = lu(k,3364) - lu(k,1225) * lu(k,3356)
         lu(k,3379) = lu(k,3379) - lu(k,1226) * lu(k,3356)
         lu(k,3390) = lu(k,3390) - lu(k,1227) * lu(k,3356)
         lu(k,3419) = lu(k,3419) - lu(k,1228) * lu(k,3356)
         lu(k,3422) = lu(k,3422) - lu(k,1229) * lu(k,3356)
         lu(k,3426) = lu(k,3426) - lu(k,1230) * lu(k,3356)
         lu(k,3428) = lu(k,3428) - lu(k,1231) * lu(k,3356)
         lu(k,3429) = lu(k,3429) - lu(k,1232) * lu(k,3356)
         lu(k,3431) = lu(k,3431) - lu(k,1233) * lu(k,3356)
         lu(k,3432) = lu(k,3432) - lu(k,1234) * lu(k,3356)
         lu(k,3436) = lu(k,3436) - lu(k,1235) * lu(k,3356)
         lu(k,3680) = lu(k,3680) - lu(k,1225) * lu(k,3668)
         lu(k,3699) = lu(k,3699) - lu(k,1226) * lu(k,3668)
         lu(k,3711) = lu(k,3711) - lu(k,1227) * lu(k,3668)
         lu(k,3739) = lu(k,3739) - lu(k,1228) * lu(k,3668)
         lu(k,3742) = lu(k,3742) - lu(k,1229) * lu(k,3668)
         lu(k,3746) = lu(k,3746) - lu(k,1230) * lu(k,3668)
         lu(k,3748) = lu(k,3748) - lu(k,1231) * lu(k,3668)
         lu(k,3749) = lu(k,3749) - lu(k,1232) * lu(k,3668)
         lu(k,3751) = lu(k,3751) - lu(k,1233) * lu(k,3668)
         lu(k,3752) = lu(k,3752) - lu(k,1234) * lu(k,3668)
         lu(k,3756) = lu(k,3756) - lu(k,1235) * lu(k,3668)
      end do
      end subroutine lu_fac27
      subroutine lu_fac28( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,1236) = 1._r8 / lu(k,1236)
         lu(k,1237) = lu(k,1237) * lu(k,1236)
         lu(k,1238) = lu(k,1238) * lu(k,1236)
         lu(k,1239) = lu(k,1239) * lu(k,1236)
         lu(k,1240) = lu(k,1240) * lu(k,1236)
         lu(k,1443) = lu(k,1443) - lu(k,1237) * lu(k,1432)
         lu(k,1444) = lu(k,1444) - lu(k,1238) * lu(k,1432)
         lu(k,1448) = lu(k,1448) - lu(k,1239) * lu(k,1432)
         lu(k,1456) = lu(k,1456) - lu(k,1240) * lu(k,1432)
         lu(k,1664) = lu(k,1664) - lu(k,1237) * lu(k,1659)
         lu(k,1665) = lu(k,1665) - lu(k,1238) * lu(k,1659)
         lu(k,1671) = lu(k,1671) - lu(k,1239) * lu(k,1659)
         lu(k,1679) = lu(k,1679) - lu(k,1240) * lu(k,1659)
         lu(k,1722) = - lu(k,1237) * lu(k,1716)
         lu(k,1724) = lu(k,1724) - lu(k,1238) * lu(k,1716)
         lu(k,1732) = - lu(k,1239) * lu(k,1716)
         lu(k,1741) = lu(k,1741) - lu(k,1240) * lu(k,1716)
         lu(k,1777) = lu(k,1777) - lu(k,1237) * lu(k,1772)
         lu(k,1778) = lu(k,1778) - lu(k,1238) * lu(k,1772)
         lu(k,1783) = lu(k,1783) - lu(k,1239) * lu(k,1772)
         lu(k,1791) = lu(k,1791) - lu(k,1240) * lu(k,1772)
         lu(k,1821) = - lu(k,1237) * lu(k,1816)
         lu(k,1823) = lu(k,1823) - lu(k,1238) * lu(k,1816)
         lu(k,1830) = - lu(k,1239) * lu(k,1816)
         lu(k,1839) = lu(k,1839) - lu(k,1240) * lu(k,1816)
         lu(k,1886) = lu(k,1886) - lu(k,1237) * lu(k,1881)
         lu(k,1887) = lu(k,1887) - lu(k,1238) * lu(k,1881)
         lu(k,1894) = lu(k,1894) - lu(k,1239) * lu(k,1881)
         lu(k,1907) = lu(k,1907) - lu(k,1240) * lu(k,1881)
         lu(k,1923) = lu(k,1923) - lu(k,1237) * lu(k,1915)
         lu(k,1924) = - lu(k,1238) * lu(k,1915)
         lu(k,1929) = lu(k,1929) - lu(k,1239) * lu(k,1915)
         lu(k,1939) = lu(k,1939) - lu(k,1240) * lu(k,1915)
         lu(k,1957) = lu(k,1957) - lu(k,1237) * lu(k,1949)
         lu(k,1958) = lu(k,1958) - lu(k,1238) * lu(k,1949)
         lu(k,1963) = lu(k,1963) - lu(k,1239) * lu(k,1949)
         lu(k,1973) = lu(k,1973) - lu(k,1240) * lu(k,1949)
         lu(k,1986) = lu(k,1986) - lu(k,1237) * lu(k,1981)
         lu(k,1987) = - lu(k,1238) * lu(k,1981)
         lu(k,1992) = lu(k,1992) - lu(k,1239) * lu(k,1981)
         lu(k,2001) = - lu(k,1240) * lu(k,1981)
         lu(k,2023) = lu(k,2023) - lu(k,1237) * lu(k,2013)
         lu(k,2024) = lu(k,2024) - lu(k,1238) * lu(k,2013)
         lu(k,2029) = lu(k,2029) - lu(k,1239) * lu(k,2013)
         lu(k,2043) = lu(k,2043) - lu(k,1240) * lu(k,2013)
         lu(k,2836) = lu(k,2836) - lu(k,1237) * lu(k,2816)
         lu(k,2841) = lu(k,2841) - lu(k,1238) * lu(k,2816)
         lu(k,2853) = lu(k,2853) - lu(k,1239) * lu(k,2816)
         lu(k,2891) = lu(k,2891) - lu(k,1240) * lu(k,2816)
         lu(k,3232) = lu(k,3232) - lu(k,1237) * lu(k,3209)
         lu(k,3237) = lu(k,3237) - lu(k,1238) * lu(k,3209)
         lu(k,3249) = lu(k,3249) - lu(k,1239) * lu(k,3209)
         lu(k,3287) = lu(k,3287) - lu(k,1240) * lu(k,3209)
         lu(k,3374) = lu(k,3374) - lu(k,1237) * lu(k,3357)
         lu(k,3379) = lu(k,3379) - lu(k,1238) * lu(k,3357)
         lu(k,3390) = lu(k,3390) - lu(k,1239) * lu(k,3357)
         lu(k,3428) = lu(k,3428) - lu(k,1240) * lu(k,3357)
         lu(k,3694) = lu(k,3694) - lu(k,1237) * lu(k,3669)
         lu(k,3699) = lu(k,3699) - lu(k,1238) * lu(k,3669)
         lu(k,3711) = lu(k,3711) - lu(k,1239) * lu(k,3669)
         lu(k,3748) = lu(k,3748) - lu(k,1240) * lu(k,3669)
         lu(k,1243) = 1._r8 / lu(k,1243)
         lu(k,1244) = lu(k,1244) * lu(k,1243)
         lu(k,1245) = lu(k,1245) * lu(k,1243)
         lu(k,1246) = lu(k,1246) * lu(k,1243)
         lu(k,1247) = lu(k,1247) * lu(k,1243)
         lu(k,1248) = lu(k,1248) * lu(k,1243)
         lu(k,1249) = lu(k,1249) * lu(k,1243)
         lu(k,1250) = lu(k,1250) * lu(k,1243)
         lu(k,1251) = lu(k,1251) * lu(k,1243)
         lu(k,2820) = lu(k,2820) - lu(k,1244) * lu(k,2817)
         lu(k,2825) = lu(k,2825) - lu(k,1245) * lu(k,2817)
         lu(k,2885) = lu(k,2885) - lu(k,1246) * lu(k,2817)
         lu(k,2889) = lu(k,2889) - lu(k,1247) * lu(k,2817)
         lu(k,2891) = lu(k,2891) - lu(k,1248) * lu(k,2817)
         lu(k,2892) = lu(k,2892) - lu(k,1249) * lu(k,2817)
         lu(k,2894) = lu(k,2894) - lu(k,1250) * lu(k,2817)
         lu(k,2895) = lu(k,2895) - lu(k,1251) * lu(k,2817)
         lu(k,2931) = lu(k,2931) - lu(k,1244) * lu(k,2928)
         lu(k,2934) = - lu(k,1245) * lu(k,2928)
         lu(k,2986) = lu(k,2986) - lu(k,1246) * lu(k,2928)
         lu(k,2990) = lu(k,2990) - lu(k,1247) * lu(k,2928)
         lu(k,2992) = lu(k,2992) - lu(k,1248) * lu(k,2928)
         lu(k,2993) = lu(k,2993) - lu(k,1249) * lu(k,2928)
         lu(k,2995) = lu(k,2995) - lu(k,1250) * lu(k,2928)
         lu(k,2996) = lu(k,2996) - lu(k,1251) * lu(k,2928)
         lu(k,3022) = lu(k,3022) - lu(k,1244) * lu(k,3020)
         lu(k,3025) = - lu(k,1245) * lu(k,3020)
         lu(k,3078) = lu(k,3078) - lu(k,1246) * lu(k,3020)
         lu(k,3082) = lu(k,3082) - lu(k,1247) * lu(k,3020)
         lu(k,3084) = lu(k,3084) - lu(k,1248) * lu(k,3020)
         lu(k,3085) = lu(k,3085) - lu(k,1249) * lu(k,3020)
         lu(k,3087) = lu(k,3087) - lu(k,1250) * lu(k,3020)
         lu(k,3088) = lu(k,3088) - lu(k,1251) * lu(k,3020)
         lu(k,3213) = lu(k,3213) - lu(k,1244) * lu(k,3210)
         lu(k,3219) = lu(k,3219) - lu(k,1245) * lu(k,3210)
         lu(k,3281) = lu(k,3281) - lu(k,1246) * lu(k,3210)
         lu(k,3285) = lu(k,3285) - lu(k,1247) * lu(k,3210)
         lu(k,3287) = lu(k,3287) - lu(k,1248) * lu(k,3210)
         lu(k,3288) = lu(k,3288) - lu(k,1249) * lu(k,3210)
         lu(k,3290) = lu(k,3290) - lu(k,1250) * lu(k,3210)
         lu(k,3291) = lu(k,3291) - lu(k,1251) * lu(k,3210)
         lu(k,3359) = lu(k,3359) - lu(k,1244) * lu(k,3358)
         lu(k,3364) = lu(k,3364) - lu(k,1245) * lu(k,3358)
         lu(k,3422) = lu(k,3422) - lu(k,1246) * lu(k,3358)
         lu(k,3426) = lu(k,3426) - lu(k,1247) * lu(k,3358)
         lu(k,3428) = lu(k,3428) - lu(k,1248) * lu(k,3358)
         lu(k,3429) = lu(k,3429) - lu(k,1249) * lu(k,3358)
         lu(k,3431) = lu(k,3431) - lu(k,1250) * lu(k,3358)
         lu(k,3432) = lu(k,3432) - lu(k,1251) * lu(k,3358)
         lu(k,3674) = lu(k,3674) - lu(k,1244) * lu(k,3670)
         lu(k,3680) = lu(k,3680) - lu(k,1245) * lu(k,3670)
         lu(k,3742) = lu(k,3742) - lu(k,1246) * lu(k,3670)
         lu(k,3746) = lu(k,3746) - lu(k,1247) * lu(k,3670)
         lu(k,3748) = lu(k,3748) - lu(k,1248) * lu(k,3670)
         lu(k,3749) = lu(k,3749) - lu(k,1249) * lu(k,3670)
         lu(k,3751) = lu(k,3751) - lu(k,1250) * lu(k,3670)
         lu(k,3752) = lu(k,3752) - lu(k,1251) * lu(k,3670)
         lu(k,3813) = - lu(k,1244) * lu(k,3812)
         lu(k,3815) = - lu(k,1245) * lu(k,3812)
         lu(k,3823) = lu(k,3823) - lu(k,1246) * lu(k,3812)
         lu(k,3827) = lu(k,3827) - lu(k,1247) * lu(k,3812)
         lu(k,3829) = lu(k,3829) - lu(k,1248) * lu(k,3812)
         lu(k,3830) = lu(k,3830) - lu(k,1249) * lu(k,3812)
         lu(k,3832) = lu(k,3832) - lu(k,1250) * lu(k,3812)
         lu(k,3833) = lu(k,3833) - lu(k,1251) * lu(k,3812)
         lu(k,1255) = 1._r8 / lu(k,1255)
         lu(k,1256) = lu(k,1256) * lu(k,1255)
         lu(k,1257) = lu(k,1257) * lu(k,1255)
         lu(k,1258) = lu(k,1258) * lu(k,1255)
         lu(k,1259) = lu(k,1259) * lu(k,1255)
         lu(k,1260) = lu(k,1260) * lu(k,1255)
         lu(k,1261) = lu(k,1261) * lu(k,1255)
         lu(k,1262) = lu(k,1262) * lu(k,1255)
         lu(k,1263) = lu(k,1263) * lu(k,1255)
         lu(k,1264) = lu(k,1264) * lu(k,1255)
         lu(k,1265) = lu(k,1265) * lu(k,1255)
         lu(k,1266) = lu(k,1266) * lu(k,1255)
         lu(k,1267) = lu(k,1267) * lu(k,1255)
         lu(k,1268) = lu(k,1268) * lu(k,1255)
         lu(k,1269) = lu(k,1269) * lu(k,1255)
         lu(k,1434) = lu(k,1434) - lu(k,1256) * lu(k,1433)
         lu(k,1435) = - lu(k,1257) * lu(k,1433)
         lu(k,1436) = lu(k,1436) - lu(k,1258) * lu(k,1433)
         lu(k,1442) = - lu(k,1259) * lu(k,1433)
         lu(k,1443) = lu(k,1443) - lu(k,1260) * lu(k,1433)
         lu(k,1445) = - lu(k,1261) * lu(k,1433)
         lu(k,1447) = lu(k,1447) - lu(k,1262) * lu(k,1433)
         lu(k,1448) = lu(k,1448) - lu(k,1263) * lu(k,1433)
         lu(k,1451) = lu(k,1451) - lu(k,1264) * lu(k,1433)
         lu(k,1453) = - lu(k,1265) * lu(k,1433)
         lu(k,1455) = lu(k,1455) - lu(k,1266) * lu(k,1433)
         lu(k,1456) = lu(k,1456) - lu(k,1267) * lu(k,1433)
         lu(k,1458) = lu(k,1458) - lu(k,1268) * lu(k,1433)
         lu(k,1459) = lu(k,1459) - lu(k,1269) * lu(k,1433)
         lu(k,2819) = lu(k,2819) - lu(k,1256) * lu(k,2818)
         lu(k,2823) = lu(k,2823) - lu(k,1257) * lu(k,2818)
         lu(k,2824) = lu(k,2824) - lu(k,1258) * lu(k,2818)
         lu(k,2835) = lu(k,2835) - lu(k,1259) * lu(k,2818)
         lu(k,2836) = lu(k,2836) - lu(k,1260) * lu(k,2818)
         lu(k,2842) = lu(k,2842) - lu(k,1261) * lu(k,2818)
         lu(k,2851) = lu(k,2851) - lu(k,1262) * lu(k,2818)
         lu(k,2853) = lu(k,2853) - lu(k,1263) * lu(k,2818)
         lu(k,2882) = lu(k,2882) - lu(k,1264) * lu(k,2818)
         lu(k,2885) = lu(k,2885) - lu(k,1265) * lu(k,2818)
         lu(k,2889) = lu(k,2889) - lu(k,1266) * lu(k,2818)
         lu(k,2891) = lu(k,2891) - lu(k,1267) * lu(k,2818)
         lu(k,2894) = lu(k,2894) - lu(k,1268) * lu(k,2818)
         lu(k,2895) = lu(k,2895) - lu(k,1269) * lu(k,2818)
         lu(k,3212) = lu(k,3212) - lu(k,1256) * lu(k,3211)
         lu(k,3216) = lu(k,3216) - lu(k,1257) * lu(k,3211)
         lu(k,3217) = lu(k,3217) - lu(k,1258) * lu(k,3211)
         lu(k,3231) = lu(k,3231) - lu(k,1259) * lu(k,3211)
         lu(k,3232) = lu(k,3232) - lu(k,1260) * lu(k,3211)
         lu(k,3238) = lu(k,3238) - lu(k,1261) * lu(k,3211)
         lu(k,3247) = lu(k,3247) - lu(k,1262) * lu(k,3211)
         lu(k,3249) = lu(k,3249) - lu(k,1263) * lu(k,3211)
         lu(k,3278) = lu(k,3278) - lu(k,1264) * lu(k,3211)
         lu(k,3281) = lu(k,3281) - lu(k,1265) * lu(k,3211)
         lu(k,3285) = lu(k,3285) - lu(k,1266) * lu(k,3211)
         lu(k,3287) = lu(k,3287) - lu(k,1267) * lu(k,3211)
         lu(k,3290) = lu(k,3290) - lu(k,1268) * lu(k,3211)
         lu(k,3291) = lu(k,3291) - lu(k,1269) * lu(k,3211)
         lu(k,3672) = lu(k,3672) - lu(k,1256) * lu(k,3671)
         lu(k,3677) = lu(k,3677) - lu(k,1257) * lu(k,3671)
         lu(k,3678) = lu(k,3678) - lu(k,1258) * lu(k,3671)
         lu(k,3693) = lu(k,3693) - lu(k,1259) * lu(k,3671)
         lu(k,3694) = lu(k,3694) - lu(k,1260) * lu(k,3671)
         lu(k,3700) = lu(k,3700) - lu(k,1261) * lu(k,3671)
         lu(k,3709) = lu(k,3709) - lu(k,1262) * lu(k,3671)
         lu(k,3711) = lu(k,3711) - lu(k,1263) * lu(k,3671)
         lu(k,3739) = lu(k,3739) - lu(k,1264) * lu(k,3671)
         lu(k,3742) = lu(k,3742) - lu(k,1265) * lu(k,3671)
         lu(k,3746) = lu(k,3746) - lu(k,1266) * lu(k,3671)
         lu(k,3748) = lu(k,3748) - lu(k,1267) * lu(k,3671)
         lu(k,3751) = lu(k,3751) - lu(k,1268) * lu(k,3671)
         lu(k,3752) = lu(k,3752) - lu(k,1269) * lu(k,3671)
         lu(k,1270) = 1._r8 / lu(k,1270)
         lu(k,1271) = lu(k,1271) * lu(k,1270)
         lu(k,1272) = lu(k,1272) * lu(k,1270)
         lu(k,1273) = lu(k,1273) * lu(k,1270)
         lu(k,1274) = lu(k,1274) * lu(k,1270)
         lu(k,1275) = lu(k,1275) * lu(k,1270)
         lu(k,1320) = - lu(k,1271) * lu(k,1314)
         lu(k,1325) = lu(k,1325) - lu(k,1272) * lu(k,1314)
         lu(k,1326) = lu(k,1326) - lu(k,1273) * lu(k,1314)
         lu(k,1327) = lu(k,1327) - lu(k,1274) * lu(k,1314)
         lu(k,1328) = lu(k,1328) - lu(k,1275) * lu(k,1314)
         lu(k,1443) = lu(k,1443) - lu(k,1271) * lu(k,1434)
         lu(k,1455) = lu(k,1455) - lu(k,1272) * lu(k,1434)
         lu(k,1456) = lu(k,1456) - lu(k,1273) * lu(k,1434)
         lu(k,1458) = lu(k,1458) - lu(k,1274) * lu(k,1434)
         lu(k,1459) = lu(k,1459) - lu(k,1275) * lu(k,1434)
         lu(k,1481) = lu(k,1481) - lu(k,1271) * lu(k,1476)
         lu(k,1490) = lu(k,1490) - lu(k,1272) * lu(k,1476)
         lu(k,1491) = - lu(k,1273) * lu(k,1476)
         lu(k,1492) = lu(k,1492) - lu(k,1274) * lu(k,1476)
         lu(k,1493) = lu(k,1493) - lu(k,1275) * lu(k,1476)
         lu(k,1800) = lu(k,1800) - lu(k,1271) * lu(k,1797)
         lu(k,1806) = lu(k,1806) - lu(k,1272) * lu(k,1797)
         lu(k,1807) = lu(k,1807) - lu(k,1273) * lu(k,1797)
         lu(k,1808) = lu(k,1808) - lu(k,1274) * lu(k,1797)
         lu(k,1809) = lu(k,1809) - lu(k,1275) * lu(k,1797)
         lu(k,1957) = lu(k,1957) - lu(k,1271) * lu(k,1950)
         lu(k,1972) = lu(k,1972) - lu(k,1272) * lu(k,1950)
         lu(k,1973) = lu(k,1973) - lu(k,1273) * lu(k,1950)
         lu(k,1975) = lu(k,1975) - lu(k,1274) * lu(k,1950)
         lu(k,1976) = lu(k,1976) - lu(k,1275) * lu(k,1950)
         lu(k,1986) = lu(k,1986) - lu(k,1271) * lu(k,1982)
         lu(k,2000) = lu(k,2000) - lu(k,1272) * lu(k,1982)
         lu(k,2001) = lu(k,2001) - lu(k,1273) * lu(k,1982)
         lu(k,2003) = lu(k,2003) - lu(k,1274) * lu(k,1982)
         lu(k,2004) = lu(k,2004) - lu(k,1275) * lu(k,1982)
         lu(k,2023) = lu(k,2023) - lu(k,1271) * lu(k,2014)
         lu(k,2042) = lu(k,2042) - lu(k,1272) * lu(k,2014)
         lu(k,2043) = lu(k,2043) - lu(k,1273) * lu(k,2014)
         lu(k,2046) = lu(k,2046) - lu(k,1274) * lu(k,2014)
         lu(k,2047) = lu(k,2047) - lu(k,1275) * lu(k,2014)
         lu(k,2836) = lu(k,2836) - lu(k,1271) * lu(k,2819)
         lu(k,2889) = lu(k,2889) - lu(k,1272) * lu(k,2819)
         lu(k,2891) = lu(k,2891) - lu(k,1273) * lu(k,2819)
         lu(k,2894) = lu(k,2894) - lu(k,1274) * lu(k,2819)
         lu(k,2895) = lu(k,2895) - lu(k,1275) * lu(k,2819)
         lu(k,2940) = lu(k,2940) - lu(k,1271) * lu(k,2929)
         lu(k,2990) = lu(k,2990) - lu(k,1272) * lu(k,2929)
         lu(k,2992) = lu(k,2992) - lu(k,1273) * lu(k,2929)
         lu(k,2995) = lu(k,2995) - lu(k,1274) * lu(k,2929)
         lu(k,2996) = lu(k,2996) - lu(k,1275) * lu(k,2929)
         lu(k,3232) = lu(k,3232) - lu(k,1271) * lu(k,3212)
         lu(k,3285) = lu(k,3285) - lu(k,1272) * lu(k,3212)
         lu(k,3287) = lu(k,3287) - lu(k,1273) * lu(k,3212)
         lu(k,3290) = lu(k,3290) - lu(k,1274) * lu(k,3212)
         lu(k,3291) = lu(k,3291) - lu(k,1275) * lu(k,3212)
         lu(k,3694) = lu(k,3694) - lu(k,1271) * lu(k,3672)
         lu(k,3746) = lu(k,3746) - lu(k,1272) * lu(k,3672)
         lu(k,3748) = lu(k,3748) - lu(k,1273) * lu(k,3672)
         lu(k,3751) = lu(k,3751) - lu(k,1274) * lu(k,3672)
         lu(k,3752) = lu(k,3752) - lu(k,1275) * lu(k,3672)
      end do
      end subroutine lu_fac28
      subroutine lu_fac29( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,1285) = 1._r8 / lu(k,1285)
         lu(k,1286) = lu(k,1286) * lu(k,1285)
         lu(k,1287) = lu(k,1287) * lu(k,1285)
         lu(k,1288) = lu(k,1288) * lu(k,1285)
         lu(k,1289) = lu(k,1289) * lu(k,1285)
         lu(k,1290) = lu(k,1290) * lu(k,1285)
         lu(k,1291) = lu(k,1291) * lu(k,1285)
         lu(k,1292) = lu(k,1292) * lu(k,1285)
         lu(k,1293) = lu(k,1293) * lu(k,1285)
         lu(k,1294) = lu(k,1294) * lu(k,1285)
         lu(k,1295) = lu(k,1295) * lu(k,1285)
         lu(k,1296) = lu(k,1296) * lu(k,1285)
         lu(k,1297) = lu(k,1297) * lu(k,1285)
         lu(k,1298) = lu(k,1298) * lu(k,1285)
         lu(k,1299) = lu(k,1299) * lu(k,1285)
         lu(k,1300) = lu(k,1300) * lu(k,1285)
         lu(k,1301) = lu(k,1301) * lu(k,1285)
         lu(k,1302) = lu(k,1302) * lu(k,1285)
         lu(k,1303) = lu(k,1303) * lu(k,1285)
         lu(k,1304) = lu(k,1304) * lu(k,1285)
         lu(k,2933) = lu(k,2933) - lu(k,1286) * lu(k,2930)
         lu(k,2940) = lu(k,2940) - lu(k,1287) * lu(k,2930)
         lu(k,2941) = - lu(k,1288) * lu(k,2930)
         lu(k,2942) = - lu(k,1289) * lu(k,2930)
         lu(k,2947) = - lu(k,1290) * lu(k,2930)
         lu(k,2950) = - lu(k,1291) * lu(k,2930)
         lu(k,2951) = lu(k,2951) - lu(k,1292) * lu(k,2930)
         lu(k,2952) = - lu(k,1293) * lu(k,2930)
         lu(k,2954) = - lu(k,1294) * lu(k,2930)
         lu(k,2956) = lu(k,2956) - lu(k,1295) * lu(k,2930)
         lu(k,2961) = - lu(k,1296) * lu(k,2930)
         lu(k,2983) = lu(k,2983) - lu(k,1297) * lu(k,2930)
         lu(k,2987) = lu(k,2987) - lu(k,1298) * lu(k,2930)
         lu(k,2988) = lu(k,2988) - lu(k,1299) * lu(k,2930)
         lu(k,2990) = lu(k,2990) - lu(k,1300) * lu(k,2930)
         lu(k,2992) = lu(k,2992) - lu(k,1301) * lu(k,2930)
         lu(k,2993) = lu(k,2993) - lu(k,1302) * lu(k,2930)
         lu(k,2996) = lu(k,2996) - lu(k,1303) * lu(k,2930)
         lu(k,3000) = lu(k,3000) - lu(k,1304) * lu(k,2930)
         lu(k,3024) = lu(k,3024) - lu(k,1286) * lu(k,3021)
         lu(k,3031) = lu(k,3031) - lu(k,1287) * lu(k,3021)
         lu(k,3032) = - lu(k,1288) * lu(k,3021)
         lu(k,3033) = - lu(k,1289) * lu(k,3021)
         lu(k,3038) = - lu(k,1290) * lu(k,3021)
         lu(k,3041) = - lu(k,1291) * lu(k,3021)
         lu(k,3042) = lu(k,3042) - lu(k,1292) * lu(k,3021)
         lu(k,3043) = - lu(k,1293) * lu(k,3021)
         lu(k,3045) = - lu(k,1294) * lu(k,3021)
         lu(k,3047) = lu(k,3047) - lu(k,1295) * lu(k,3021)
         lu(k,3052) = lu(k,3052) - lu(k,1296) * lu(k,3021)
         lu(k,3075) = lu(k,3075) - lu(k,1297) * lu(k,3021)
         lu(k,3079) = lu(k,3079) - lu(k,1298) * lu(k,3021)
         lu(k,3080) = lu(k,3080) - lu(k,1299) * lu(k,3021)
         lu(k,3082) = lu(k,3082) - lu(k,1300) * lu(k,3021)
         lu(k,3084) = lu(k,3084) - lu(k,1301) * lu(k,3021)
         lu(k,3085) = lu(k,3085) - lu(k,1302) * lu(k,3021)
         lu(k,3088) = lu(k,3088) - lu(k,1303) * lu(k,3021)
         lu(k,3092) = lu(k,3092) - lu(k,1304) * lu(k,3021)
         lu(k,3679) = lu(k,3679) - lu(k,1286) * lu(k,3673)
         lu(k,3694) = lu(k,3694) - lu(k,1287) * lu(k,3673)
         lu(k,3695) = lu(k,3695) - lu(k,1288) * lu(k,3673)
         lu(k,3696) = lu(k,3696) - lu(k,1289) * lu(k,3673)
         lu(k,3703) = lu(k,3703) - lu(k,1290) * lu(k,3673)
         lu(k,3706) = lu(k,3706) - lu(k,1291) * lu(k,3673)
         lu(k,3707) = lu(k,3707) - lu(k,1292) * lu(k,3673)
         lu(k,3708) = lu(k,3708) - lu(k,1293) * lu(k,3673)
         lu(k,3710) = lu(k,3710) - lu(k,1294) * lu(k,3673)
         lu(k,3712) = lu(k,3712) - lu(k,1295) * lu(k,3673)
         lu(k,3717) = lu(k,3717) - lu(k,1296) * lu(k,3673)
         lu(k,3739) = lu(k,3739) - lu(k,1297) * lu(k,3673)
         lu(k,3743) = lu(k,3743) - lu(k,1298) * lu(k,3673)
         lu(k,3744) = lu(k,3744) - lu(k,1299) * lu(k,3673)
         lu(k,3746) = lu(k,3746) - lu(k,1300) * lu(k,3673)
         lu(k,3748) = lu(k,3748) - lu(k,1301) * lu(k,3673)
         lu(k,3749) = lu(k,3749) - lu(k,1302) * lu(k,3673)
         lu(k,3752) = lu(k,3752) - lu(k,1303) * lu(k,3673)
         lu(k,3756) = lu(k,3756) - lu(k,1304) * lu(k,3673)
         lu(k,1305) = 1._r8 / lu(k,1305)
         lu(k,1306) = lu(k,1306) * lu(k,1305)
         lu(k,1307) = lu(k,1307) * lu(k,1305)
         lu(k,1308) = lu(k,1308) * lu(k,1305)
         lu(k,1309) = lu(k,1309) * lu(k,1305)
         lu(k,1310) = lu(k,1310) * lu(k,1305)
         lu(k,1311) = lu(k,1311) * lu(k,1305)
         lu(k,1312) = lu(k,1312) * lu(k,1305)
         lu(k,1313) = lu(k,1313) * lu(k,1305)
         lu(k,1859) = lu(k,1859) - lu(k,1306) * lu(k,1855)
         lu(k,1864) = lu(k,1864) - lu(k,1307) * lu(k,1855)
         lu(k,1865) = - lu(k,1308) * lu(k,1855)
         lu(k,1869) = lu(k,1869) - lu(k,1309) * lu(k,1855)
         lu(k,1870) = lu(k,1870) - lu(k,1310) * lu(k,1855)
         lu(k,1872) = lu(k,1872) - lu(k,1311) * lu(k,1855)
         lu(k,1874) = lu(k,1874) - lu(k,1312) * lu(k,1855)
         lu(k,1875) = lu(k,1875) - lu(k,1313) * lu(k,1855)
         lu(k,2836) = lu(k,2836) - lu(k,1306) * lu(k,2820)
         lu(k,2882) = lu(k,2882) - lu(k,1307) * lu(k,2820)
         lu(k,2883) = lu(k,2883) - lu(k,1308) * lu(k,2820)
         lu(k,2887) = lu(k,2887) - lu(k,1309) * lu(k,2820)
         lu(k,2889) = lu(k,2889) - lu(k,1310) * lu(k,2820)
         lu(k,2892) = lu(k,2892) - lu(k,1311) * lu(k,2820)
         lu(k,2895) = lu(k,2895) - lu(k,1312) * lu(k,2820)
         lu(k,2899) = lu(k,2899) - lu(k,1313) * lu(k,2820)
         lu(k,2940) = lu(k,2940) - lu(k,1306) * lu(k,2931)
         lu(k,2983) = lu(k,2983) - lu(k,1307) * lu(k,2931)
         lu(k,2984) = lu(k,2984) - lu(k,1308) * lu(k,2931)
         lu(k,2988) = lu(k,2988) - lu(k,1309) * lu(k,2931)
         lu(k,2990) = lu(k,2990) - lu(k,1310) * lu(k,2931)
         lu(k,2993) = lu(k,2993) - lu(k,1311) * lu(k,2931)
         lu(k,2996) = lu(k,2996) - lu(k,1312) * lu(k,2931)
         lu(k,3000) = lu(k,3000) - lu(k,1313) * lu(k,2931)
         lu(k,3031) = lu(k,3031) - lu(k,1306) * lu(k,3022)
         lu(k,3075) = lu(k,3075) - lu(k,1307) * lu(k,3022)
         lu(k,3076) = lu(k,3076) - lu(k,1308) * lu(k,3022)
         lu(k,3080) = lu(k,3080) - lu(k,1309) * lu(k,3022)
         lu(k,3082) = lu(k,3082) - lu(k,1310) * lu(k,3022)
         lu(k,3085) = lu(k,3085) - lu(k,1311) * lu(k,3022)
         lu(k,3088) = lu(k,3088) - lu(k,1312) * lu(k,3022)
         lu(k,3092) = lu(k,3092) - lu(k,1313) * lu(k,3022)
         lu(k,3232) = lu(k,3232) - lu(k,1306) * lu(k,3213)
         lu(k,3278) = lu(k,3278) - lu(k,1307) * lu(k,3213)
         lu(k,3279) = lu(k,3279) - lu(k,1308) * lu(k,3213)
         lu(k,3283) = lu(k,3283) - lu(k,1309) * lu(k,3213)
         lu(k,3285) = lu(k,3285) - lu(k,1310) * lu(k,3213)
         lu(k,3288) = lu(k,3288) - lu(k,1311) * lu(k,3213)
         lu(k,3291) = lu(k,3291) - lu(k,1312) * lu(k,3213)
         lu(k,3295) = lu(k,3295) - lu(k,1313) * lu(k,3213)
         lu(k,3374) = lu(k,3374) - lu(k,1306) * lu(k,3359)
         lu(k,3419) = lu(k,3419) - lu(k,1307) * lu(k,3359)
         lu(k,3420) = lu(k,3420) - lu(k,1308) * lu(k,3359)
         lu(k,3424) = lu(k,3424) - lu(k,1309) * lu(k,3359)
         lu(k,3426) = lu(k,3426) - lu(k,1310) * lu(k,3359)
         lu(k,3429) = lu(k,3429) - lu(k,1311) * lu(k,3359)
         lu(k,3432) = lu(k,3432) - lu(k,1312) * lu(k,3359)
         lu(k,3436) = lu(k,3436) - lu(k,1313) * lu(k,3359)
         lu(k,3694) = lu(k,3694) - lu(k,1306) * lu(k,3674)
         lu(k,3739) = lu(k,3739) - lu(k,1307) * lu(k,3674)
         lu(k,3740) = lu(k,3740) - lu(k,1308) * lu(k,3674)
         lu(k,3744) = lu(k,3744) - lu(k,1309) * lu(k,3674)
         lu(k,3746) = lu(k,3746) - lu(k,1310) * lu(k,3674)
         lu(k,3749) = lu(k,3749) - lu(k,1311) * lu(k,3674)
         lu(k,3752) = lu(k,3752) - lu(k,1312) * lu(k,3674)
         lu(k,3756) = lu(k,3756) - lu(k,1313) * lu(k,3674)
         lu(k,3818) = lu(k,3818) - lu(k,1306) * lu(k,3813)
         lu(k,3820) = - lu(k,1307) * lu(k,3813)
         lu(k,3821) = lu(k,3821) - lu(k,1308) * lu(k,3813)
         lu(k,3825) = lu(k,3825) - lu(k,1309) * lu(k,3813)
         lu(k,3827) = lu(k,3827) - lu(k,1310) * lu(k,3813)
         lu(k,3830) = lu(k,3830) - lu(k,1311) * lu(k,3813)
         lu(k,3833) = lu(k,3833) - lu(k,1312) * lu(k,3813)
         lu(k,3837) = lu(k,3837) - lu(k,1313) * lu(k,3813)
         lu(k,1315) = 1._r8 / lu(k,1315)
         lu(k,1316) = lu(k,1316) * lu(k,1315)
         lu(k,1317) = lu(k,1317) * lu(k,1315)
         lu(k,1318) = lu(k,1318) * lu(k,1315)
         lu(k,1319) = lu(k,1319) * lu(k,1315)
         lu(k,1320) = lu(k,1320) * lu(k,1315)
         lu(k,1321) = lu(k,1321) * lu(k,1315)
         lu(k,1322) = lu(k,1322) * lu(k,1315)
         lu(k,1323) = lu(k,1323) * lu(k,1315)
         lu(k,1324) = lu(k,1324) * lu(k,1315)
         lu(k,1325) = lu(k,1325) * lu(k,1315)
         lu(k,1326) = lu(k,1326) * lu(k,1315)
         lu(k,1327) = lu(k,1327) * lu(k,1315)
         lu(k,1328) = lu(k,1328) * lu(k,1315)
         lu(k,2016) = lu(k,2016) - lu(k,1316) * lu(k,2015)
         lu(k,2017) = lu(k,2017) - lu(k,1317) * lu(k,2015)
         lu(k,2020) = lu(k,2020) - lu(k,1318) * lu(k,2015)
         lu(k,2022) = lu(k,2022) - lu(k,1319) * lu(k,2015)
         lu(k,2023) = lu(k,2023) - lu(k,1320) * lu(k,2015)
         lu(k,2024) = lu(k,2024) - lu(k,1321) * lu(k,2015)
         lu(k,2025) = lu(k,2025) - lu(k,1322) * lu(k,2015)
         lu(k,2028) = lu(k,2028) - lu(k,1323) * lu(k,2015)
         lu(k,2039) = lu(k,2039) - lu(k,1324) * lu(k,2015)
         lu(k,2042) = lu(k,2042) - lu(k,1325) * lu(k,2015)
         lu(k,2043) = lu(k,2043) - lu(k,1326) * lu(k,2015)
         lu(k,2046) = lu(k,2046) - lu(k,1327) * lu(k,2015)
         lu(k,2047) = lu(k,2047) - lu(k,1328) * lu(k,2015)
         lu(k,2823) = lu(k,2823) - lu(k,1316) * lu(k,2821)
         lu(k,2824) = lu(k,2824) - lu(k,1317) * lu(k,2821)
         lu(k,2832) = lu(k,2832) - lu(k,1318) * lu(k,2821)
         lu(k,2835) = lu(k,2835) - lu(k,1319) * lu(k,2821)
         lu(k,2836) = lu(k,2836) - lu(k,1320) * lu(k,2821)
         lu(k,2841) = lu(k,2841) - lu(k,1321) * lu(k,2821)
         lu(k,2842) = lu(k,2842) - lu(k,1322) * lu(k,2821)
         lu(k,2851) = lu(k,2851) - lu(k,1323) * lu(k,2821)
         lu(k,2885) = lu(k,2885) - lu(k,1324) * lu(k,2821)
         lu(k,2889) = lu(k,2889) - lu(k,1325) * lu(k,2821)
         lu(k,2891) = lu(k,2891) - lu(k,1326) * lu(k,2821)
         lu(k,2894) = lu(k,2894) - lu(k,1327) * lu(k,2821)
         lu(k,2895) = lu(k,2895) - lu(k,1328) * lu(k,2821)
         lu(k,3216) = lu(k,3216) - lu(k,1316) * lu(k,3214)
         lu(k,3217) = lu(k,3217) - lu(k,1317) * lu(k,3214)
         lu(k,3228) = lu(k,3228) - lu(k,1318) * lu(k,3214)
         lu(k,3231) = lu(k,3231) - lu(k,1319) * lu(k,3214)
         lu(k,3232) = lu(k,3232) - lu(k,1320) * lu(k,3214)
         lu(k,3237) = lu(k,3237) - lu(k,1321) * lu(k,3214)
         lu(k,3238) = lu(k,3238) - lu(k,1322) * lu(k,3214)
         lu(k,3247) = lu(k,3247) - lu(k,1323) * lu(k,3214)
         lu(k,3281) = lu(k,3281) - lu(k,1324) * lu(k,3214)
         lu(k,3285) = lu(k,3285) - lu(k,1325) * lu(k,3214)
         lu(k,3287) = lu(k,3287) - lu(k,1326) * lu(k,3214)
         lu(k,3290) = lu(k,3290) - lu(k,1327) * lu(k,3214)
         lu(k,3291) = lu(k,3291) - lu(k,1328) * lu(k,3214)
         lu(k,3362) = - lu(k,1316) * lu(k,3360)
         lu(k,3363) = lu(k,3363) - lu(k,1317) * lu(k,3360)
         lu(k,3370) = lu(k,3370) - lu(k,1318) * lu(k,3360)
         lu(k,3373) = - lu(k,1319) * lu(k,3360)
         lu(k,3374) = lu(k,3374) - lu(k,1320) * lu(k,3360)
         lu(k,3379) = lu(k,3379) - lu(k,1321) * lu(k,3360)
         lu(k,3380) = - lu(k,1322) * lu(k,3360)
         lu(k,3388) = lu(k,3388) - lu(k,1323) * lu(k,3360)
         lu(k,3422) = lu(k,3422) - lu(k,1324) * lu(k,3360)
         lu(k,3426) = lu(k,3426) - lu(k,1325) * lu(k,3360)
         lu(k,3428) = lu(k,3428) - lu(k,1326) * lu(k,3360)
         lu(k,3431) = lu(k,3431) - lu(k,1327) * lu(k,3360)
         lu(k,3432) = lu(k,3432) - lu(k,1328) * lu(k,3360)
         lu(k,3677) = lu(k,3677) - lu(k,1316) * lu(k,3675)
         lu(k,3678) = lu(k,3678) - lu(k,1317) * lu(k,3675)
         lu(k,3689) = lu(k,3689) - lu(k,1318) * lu(k,3675)
         lu(k,3693) = lu(k,3693) - lu(k,1319) * lu(k,3675)
         lu(k,3694) = lu(k,3694) - lu(k,1320) * lu(k,3675)
         lu(k,3699) = lu(k,3699) - lu(k,1321) * lu(k,3675)
         lu(k,3700) = lu(k,3700) - lu(k,1322) * lu(k,3675)
         lu(k,3709) = lu(k,3709) - lu(k,1323) * lu(k,3675)
         lu(k,3742) = lu(k,3742) - lu(k,1324) * lu(k,3675)
         lu(k,3746) = lu(k,3746) - lu(k,1325) * lu(k,3675)
         lu(k,3748) = lu(k,3748) - lu(k,1326) * lu(k,3675)
         lu(k,3751) = lu(k,3751) - lu(k,1327) * lu(k,3675)
         lu(k,3752) = lu(k,3752) - lu(k,1328) * lu(k,3675)
      end do
      end subroutine lu_fac29
      subroutine lu_fac30( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,1329) = 1._r8 / lu(k,1329)
         lu(k,1330) = lu(k,1330) * lu(k,1329)
         lu(k,1331) = lu(k,1331) * lu(k,1329)
         lu(k,1332) = lu(k,1332) * lu(k,1329)
         lu(k,1333) = lu(k,1333) * lu(k,1329)
         lu(k,1334) = lu(k,1334) * lu(k,1329)
         lu(k,1335) = lu(k,1335) * lu(k,1329)
         lu(k,1384) = lu(k,1384) - lu(k,1330) * lu(k,1382)
         lu(k,1385) = lu(k,1385) - lu(k,1331) * lu(k,1382)
         lu(k,1387) = lu(k,1387) - lu(k,1332) * lu(k,1382)
         lu(k,1391) = lu(k,1391) - lu(k,1333) * lu(k,1382)
         lu(k,1392) = lu(k,1392) - lu(k,1334) * lu(k,1382)
         lu(k,1395) = lu(k,1395) - lu(k,1335) * lu(k,1382)
         lu(k,1570) = lu(k,1570) - lu(k,1330) * lu(k,1567)
         lu(k,1572) = lu(k,1572) - lu(k,1331) * lu(k,1567)
         lu(k,1575) = - lu(k,1332) * lu(k,1567)
         lu(k,1581) = lu(k,1581) - lu(k,1333) * lu(k,1567)
         lu(k,1582) = lu(k,1582) - lu(k,1334) * lu(k,1567)
         lu(k,1585) = lu(k,1585) - lu(k,1335) * lu(k,1567)
         lu(k,1632) = lu(k,1632) - lu(k,1330) * lu(k,1629)
         lu(k,1633) = lu(k,1633) - lu(k,1331) * lu(k,1629)
         lu(k,1637) = lu(k,1637) - lu(k,1332) * lu(k,1629)
         lu(k,1640) = lu(k,1640) - lu(k,1333) * lu(k,1629)
         lu(k,1641) = - lu(k,1334) * lu(k,1629)
         lu(k,1643) = lu(k,1643) - lu(k,1335) * lu(k,1629)
         lu(k,1664) = lu(k,1664) - lu(k,1330) * lu(k,1660)
         lu(k,1665) = lu(k,1665) - lu(k,1331) * lu(k,1660)
         lu(k,1671) = lu(k,1671) - lu(k,1332) * lu(k,1660)
         lu(k,1678) = lu(k,1678) - lu(k,1333) * lu(k,1660)
         lu(k,1679) = lu(k,1679) - lu(k,1334) * lu(k,1660)
         lu(k,1682) = lu(k,1682) - lu(k,1335) * lu(k,1660)
         lu(k,1886) = lu(k,1886) - lu(k,1330) * lu(k,1882)
         lu(k,1887) = lu(k,1887) - lu(k,1331) * lu(k,1882)
         lu(k,1894) = lu(k,1894) - lu(k,1332) * lu(k,1882)
         lu(k,1906) = lu(k,1906) - lu(k,1333) * lu(k,1882)
         lu(k,1907) = lu(k,1907) - lu(k,1334) * lu(k,1882)
         lu(k,1910) = lu(k,1910) - lu(k,1335) * lu(k,1882)
         lu(k,1923) = lu(k,1923) - lu(k,1330) * lu(k,1916)
         lu(k,1924) = lu(k,1924) - lu(k,1331) * lu(k,1916)
         lu(k,1929) = lu(k,1929) - lu(k,1332) * lu(k,1916)
         lu(k,1938) = lu(k,1938) - lu(k,1333) * lu(k,1916)
         lu(k,1939) = lu(k,1939) - lu(k,1334) * lu(k,1916)
         lu(k,1942) = lu(k,1942) - lu(k,1335) * lu(k,1916)
         lu(k,2655) = lu(k,2655) - lu(k,1330) * lu(k,2647)
         lu(k,2660) = lu(k,2660) - lu(k,1331) * lu(k,2647)
         lu(k,2670) = lu(k,2670) - lu(k,1332) * lu(k,2647)
         lu(k,2705) = lu(k,2705) - lu(k,1333) * lu(k,2647)
         lu(k,2706) = lu(k,2706) - lu(k,1334) * lu(k,2647)
         lu(k,2710) = lu(k,2710) - lu(k,1335) * lu(k,2647)
         lu(k,2836) = lu(k,2836) - lu(k,1330) * lu(k,2822)
         lu(k,2841) = lu(k,2841) - lu(k,1331) * lu(k,2822)
         lu(k,2853) = lu(k,2853) - lu(k,1332) * lu(k,2822)
         lu(k,2889) = lu(k,2889) - lu(k,1333) * lu(k,2822)
         lu(k,2891) = lu(k,2891) - lu(k,1334) * lu(k,2822)
         lu(k,2895) = lu(k,2895) - lu(k,1335) * lu(k,2822)
         lu(k,3232) = lu(k,3232) - lu(k,1330) * lu(k,3215)
         lu(k,3237) = lu(k,3237) - lu(k,1331) * lu(k,3215)
         lu(k,3249) = lu(k,3249) - lu(k,1332) * lu(k,3215)
         lu(k,3285) = lu(k,3285) - lu(k,1333) * lu(k,3215)
         lu(k,3287) = lu(k,3287) - lu(k,1334) * lu(k,3215)
         lu(k,3291) = lu(k,3291) - lu(k,1335) * lu(k,3215)
         lu(k,3374) = lu(k,3374) - lu(k,1330) * lu(k,3361)
         lu(k,3379) = lu(k,3379) - lu(k,1331) * lu(k,3361)
         lu(k,3390) = lu(k,3390) - lu(k,1332) * lu(k,3361)
         lu(k,3426) = lu(k,3426) - lu(k,1333) * lu(k,3361)
         lu(k,3428) = lu(k,3428) - lu(k,1334) * lu(k,3361)
         lu(k,3432) = lu(k,3432) - lu(k,1335) * lu(k,3361)
         lu(k,3694) = lu(k,3694) - lu(k,1330) * lu(k,3676)
         lu(k,3699) = lu(k,3699) - lu(k,1331) * lu(k,3676)
         lu(k,3711) = lu(k,3711) - lu(k,1332) * lu(k,3676)
         lu(k,3746) = lu(k,3746) - lu(k,1333) * lu(k,3676)
         lu(k,3748) = lu(k,3748) - lu(k,1334) * lu(k,3676)
         lu(k,3752) = lu(k,3752) - lu(k,1335) * lu(k,3676)
         lu(k,1336) = 1._r8 / lu(k,1336)
         lu(k,1337) = lu(k,1337) * lu(k,1336)
         lu(k,1338) = lu(k,1338) * lu(k,1336)
         lu(k,1339) = lu(k,1339) * lu(k,1336)
         lu(k,1340) = lu(k,1340) * lu(k,1336)
         lu(k,1341) = lu(k,1341) * lu(k,1336)
         lu(k,1342) = lu(k,1342) * lu(k,1336)
         lu(k,1440) = - lu(k,1337) * lu(k,1435)
         lu(k,1444) = lu(k,1444) - lu(k,1338) * lu(k,1435)
         lu(k,1446) = - lu(k,1339) * lu(k,1435)
         lu(k,1455) = lu(k,1455) - lu(k,1340) * lu(k,1435)
         lu(k,1458) = lu(k,1458) - lu(k,1341) * lu(k,1435)
         lu(k,1459) = lu(k,1459) - lu(k,1342) * lu(k,1435)
         lu(k,1479) = lu(k,1479) - lu(k,1337) * lu(k,1477)
         lu(k,1482) = lu(k,1482) - lu(k,1338) * lu(k,1477)
         lu(k,1484) = - lu(k,1339) * lu(k,1477)
         lu(k,1490) = lu(k,1490) - lu(k,1340) * lu(k,1477)
         lu(k,1492) = lu(k,1492) - lu(k,1341) * lu(k,1477)
         lu(k,1493) = lu(k,1493) - lu(k,1342) * lu(k,1477)
         lu(k,1720) = lu(k,1720) - lu(k,1337) * lu(k,1717)
         lu(k,1724) = lu(k,1724) - lu(k,1338) * lu(k,1717)
         lu(k,1726) = lu(k,1726) - lu(k,1339) * lu(k,1717)
         lu(k,1740) = lu(k,1740) - lu(k,1340) * lu(k,1717)
         lu(k,1743) = lu(k,1743) - lu(k,1341) * lu(k,1717)
         lu(k,1744) = lu(k,1744) - lu(k,1342) * lu(k,1717)
         lu(k,1819) = lu(k,1819) - lu(k,1337) * lu(k,1817)
         lu(k,1823) = lu(k,1823) - lu(k,1338) * lu(k,1817)
         lu(k,1825) = lu(k,1825) - lu(k,1339) * lu(k,1817)
         lu(k,1838) = lu(k,1838) - lu(k,1340) * lu(k,1817)
         lu(k,1841) = lu(k,1841) - lu(k,1341) * lu(k,1817)
         lu(k,1842) = lu(k,1842) - lu(k,1342) * lu(k,1817)
         lu(k,1921) = lu(k,1921) - lu(k,1337) * lu(k,1917)
         lu(k,1924) = lu(k,1924) - lu(k,1338) * lu(k,1917)
         lu(k,1926) = - lu(k,1339) * lu(k,1917)
         lu(k,1938) = lu(k,1938) - lu(k,1340) * lu(k,1917)
         lu(k,1941) = lu(k,1941) - lu(k,1341) * lu(k,1917)
         lu(k,1942) = lu(k,1942) - lu(k,1342) * lu(k,1917)
         lu(k,1955) = - lu(k,1337) * lu(k,1951)
         lu(k,1958) = lu(k,1958) - lu(k,1338) * lu(k,1951)
         lu(k,1960) = - lu(k,1339) * lu(k,1951)
         lu(k,1972) = lu(k,1972) - lu(k,1340) * lu(k,1951)
         lu(k,1975) = lu(k,1975) - lu(k,1341) * lu(k,1951)
         lu(k,1976) = lu(k,1976) - lu(k,1342) * lu(k,1951)
         lu(k,2020) = lu(k,2020) - lu(k,1337) * lu(k,2016)
         lu(k,2024) = lu(k,2024) - lu(k,1338) * lu(k,2016)
         lu(k,2026) = - lu(k,1339) * lu(k,2016)
         lu(k,2042) = lu(k,2042) - lu(k,1340) * lu(k,2016)
         lu(k,2046) = lu(k,2046) - lu(k,1341) * lu(k,2016)
         lu(k,2047) = lu(k,2047) - lu(k,1342) * lu(k,2016)
         lu(k,2832) = lu(k,2832) - lu(k,1337) * lu(k,2823)
         lu(k,2841) = lu(k,2841) - lu(k,1338) * lu(k,2823)
         lu(k,2843) = lu(k,2843) - lu(k,1339) * lu(k,2823)
         lu(k,2889) = lu(k,2889) - lu(k,1340) * lu(k,2823)
         lu(k,2894) = lu(k,2894) - lu(k,1341) * lu(k,2823)
         lu(k,2895) = lu(k,2895) - lu(k,1342) * lu(k,2823)
         lu(k,3228) = lu(k,3228) - lu(k,1337) * lu(k,3216)
         lu(k,3237) = lu(k,3237) - lu(k,1338) * lu(k,3216)
         lu(k,3239) = lu(k,3239) - lu(k,1339) * lu(k,3216)
         lu(k,3285) = lu(k,3285) - lu(k,1340) * lu(k,3216)
         lu(k,3290) = lu(k,3290) - lu(k,1341) * lu(k,3216)
         lu(k,3291) = lu(k,3291) - lu(k,1342) * lu(k,3216)
         lu(k,3370) = lu(k,3370) - lu(k,1337) * lu(k,3362)
         lu(k,3379) = lu(k,3379) - lu(k,1338) * lu(k,3362)
         lu(k,3381) = - lu(k,1339) * lu(k,3362)
         lu(k,3426) = lu(k,3426) - lu(k,1340) * lu(k,3362)
         lu(k,3431) = lu(k,3431) - lu(k,1341) * lu(k,3362)
         lu(k,3432) = lu(k,3432) - lu(k,1342) * lu(k,3362)
         lu(k,3689) = lu(k,3689) - lu(k,1337) * lu(k,3677)
         lu(k,3699) = lu(k,3699) - lu(k,1338) * lu(k,3677)
         lu(k,3701) = lu(k,3701) - lu(k,1339) * lu(k,3677)
         lu(k,3746) = lu(k,3746) - lu(k,1340) * lu(k,3677)
         lu(k,3751) = lu(k,3751) - lu(k,1341) * lu(k,3677)
         lu(k,3752) = lu(k,3752) - lu(k,1342) * lu(k,3677)
         lu(k,1343) = 1._r8 / lu(k,1343)
         lu(k,1344) = lu(k,1344) * lu(k,1343)
         lu(k,1345) = lu(k,1345) * lu(k,1343)
         lu(k,1346) = lu(k,1346) * lu(k,1343)
         lu(k,1347) = lu(k,1347) * lu(k,1343)
         lu(k,1348) = lu(k,1348) * lu(k,1343)
         lu(k,1448) = lu(k,1448) - lu(k,1344) * lu(k,1436)
         lu(k,1451) = lu(k,1451) - lu(k,1345) * lu(k,1436)
         lu(k,1456) = lu(k,1456) - lu(k,1346) * lu(k,1436)
         lu(k,1458) = lu(k,1458) - lu(k,1347) * lu(k,1436)
         lu(k,1459) = lu(k,1459) - lu(k,1348) * lu(k,1436)
         lu(k,1486) = lu(k,1486) - lu(k,1344) * lu(k,1478)
         lu(k,1487) = - lu(k,1345) * lu(k,1478)
         lu(k,1491) = lu(k,1491) - lu(k,1346) * lu(k,1478)
         lu(k,1492) = lu(k,1492) - lu(k,1347) * lu(k,1478)
         lu(k,1493) = lu(k,1493) - lu(k,1348) * lu(k,1478)
         lu(k,1621) = lu(k,1621) - lu(k,1344) * lu(k,1617)
         lu(k,1622) = - lu(k,1345) * lu(k,1617)
         lu(k,1625) = lu(k,1625) - lu(k,1346) * lu(k,1617)
         lu(k,1626) = lu(k,1626) - lu(k,1347) * lu(k,1617)
         lu(k,1627) = lu(k,1627) - lu(k,1348) * lu(k,1617)
         lu(k,1802) = lu(k,1802) - lu(k,1344) * lu(k,1798)
         lu(k,1803) = lu(k,1803) - lu(k,1345) * lu(k,1798)
         lu(k,1807) = lu(k,1807) - lu(k,1346) * lu(k,1798)
         lu(k,1808) = lu(k,1808) - lu(k,1347) * lu(k,1798)
         lu(k,1809) = lu(k,1809) - lu(k,1348) * lu(k,1798)
         lu(k,1862) = lu(k,1862) - lu(k,1344) * lu(k,1856)
         lu(k,1864) = lu(k,1864) - lu(k,1345) * lu(k,1856)
         lu(k,1871) = lu(k,1871) - lu(k,1346) * lu(k,1856)
         lu(k,1873) = lu(k,1873) - lu(k,1347) * lu(k,1856)
         lu(k,1874) = lu(k,1874) - lu(k,1348) * lu(k,1856)
         lu(k,1929) = lu(k,1929) - lu(k,1344) * lu(k,1918)
         lu(k,1932) = - lu(k,1345) * lu(k,1918)
         lu(k,1939) = lu(k,1939) - lu(k,1346) * lu(k,1918)
         lu(k,1941) = lu(k,1941) - lu(k,1347) * lu(k,1918)
         lu(k,1942) = lu(k,1942) - lu(k,1348) * lu(k,1918)
         lu(k,1992) = lu(k,1992) - lu(k,1344) * lu(k,1983)
         lu(k,1994) = lu(k,1994) - lu(k,1345) * lu(k,1983)
         lu(k,2001) = lu(k,2001) - lu(k,1346) * lu(k,1983)
         lu(k,2003) = lu(k,2003) - lu(k,1347) * lu(k,1983)
         lu(k,2004) = lu(k,2004) - lu(k,1348) * lu(k,1983)
         lu(k,2029) = lu(k,2029) - lu(k,1344) * lu(k,2017)
         lu(k,2036) = lu(k,2036) - lu(k,1345) * lu(k,2017)
         lu(k,2043) = lu(k,2043) - lu(k,1346) * lu(k,2017)
         lu(k,2046) = lu(k,2046) - lu(k,1347) * lu(k,2017)
         lu(k,2047) = lu(k,2047) - lu(k,1348) * lu(k,2017)
         lu(k,2853) = lu(k,2853) - lu(k,1344) * lu(k,2824)
         lu(k,2882) = lu(k,2882) - lu(k,1345) * lu(k,2824)
         lu(k,2891) = lu(k,2891) - lu(k,1346) * lu(k,2824)
         lu(k,2894) = lu(k,2894) - lu(k,1347) * lu(k,2824)
         lu(k,2895) = lu(k,2895) - lu(k,1348) * lu(k,2824)
         lu(k,2955) = lu(k,2955) - lu(k,1344) * lu(k,2932)
         lu(k,2983) = lu(k,2983) - lu(k,1345) * lu(k,2932)
         lu(k,2992) = lu(k,2992) - lu(k,1346) * lu(k,2932)
         lu(k,2995) = lu(k,2995) - lu(k,1347) * lu(k,2932)
         lu(k,2996) = lu(k,2996) - lu(k,1348) * lu(k,2932)
         lu(k,3046) = lu(k,3046) - lu(k,1344) * lu(k,3023)
         lu(k,3075) = lu(k,3075) - lu(k,1345) * lu(k,3023)
         lu(k,3084) = lu(k,3084) - lu(k,1346) * lu(k,3023)
         lu(k,3087) = lu(k,3087) - lu(k,1347) * lu(k,3023)
         lu(k,3088) = lu(k,3088) - lu(k,1348) * lu(k,3023)
         lu(k,3249) = lu(k,3249) - lu(k,1344) * lu(k,3217)
         lu(k,3278) = lu(k,3278) - lu(k,1345) * lu(k,3217)
         lu(k,3287) = lu(k,3287) - lu(k,1346) * lu(k,3217)
         lu(k,3290) = lu(k,3290) - lu(k,1347) * lu(k,3217)
         lu(k,3291) = lu(k,3291) - lu(k,1348) * lu(k,3217)
         lu(k,3390) = lu(k,3390) - lu(k,1344) * lu(k,3363)
         lu(k,3419) = lu(k,3419) - lu(k,1345) * lu(k,3363)
         lu(k,3428) = lu(k,3428) - lu(k,1346) * lu(k,3363)
         lu(k,3431) = lu(k,3431) - lu(k,1347) * lu(k,3363)
         lu(k,3432) = lu(k,3432) - lu(k,1348) * lu(k,3363)
         lu(k,3711) = lu(k,3711) - lu(k,1344) * lu(k,3678)
         lu(k,3739) = lu(k,3739) - lu(k,1345) * lu(k,3678)
         lu(k,3748) = lu(k,3748) - lu(k,1346) * lu(k,3678)
         lu(k,3751) = lu(k,3751) - lu(k,1347) * lu(k,3678)
         lu(k,3752) = lu(k,3752) - lu(k,1348) * lu(k,3678)
         lu(k,1349) = 1._r8 / lu(k,1349)
         lu(k,1350) = lu(k,1350) * lu(k,1349)
         lu(k,1351) = lu(k,1351) * lu(k,1349)
         lu(k,1352) = lu(k,1352) * lu(k,1349)
         lu(k,1353) = lu(k,1353) * lu(k,1349)
         lu(k,1354) = lu(k,1354) * lu(k,1349)
         lu(k,1355) = lu(k,1355) * lu(k,1349)
         lu(k,1455) = lu(k,1455) - lu(k,1350) * lu(k,1437)
         lu(k,1457) = - lu(k,1351) * lu(k,1437)
         lu(k,1459) = lu(k,1459) - lu(k,1352) * lu(k,1437)
         lu(k,1460) = - lu(k,1353) * lu(k,1437)
         lu(k,1461) = - lu(k,1354) * lu(k,1437)
         lu(k,1462) = - lu(k,1355) * lu(k,1437)
         lu(k,1938) = lu(k,1938) - lu(k,1350) * lu(k,1919)
         lu(k,1940) = - lu(k,1351) * lu(k,1919)
         lu(k,1942) = lu(k,1942) - lu(k,1352) * lu(k,1919)
         lu(k,1943) = - lu(k,1353) * lu(k,1919)
         lu(k,1944) = - lu(k,1354) * lu(k,1919)
         lu(k,1945) = - lu(k,1355) * lu(k,1919)
         lu(k,1972) = lu(k,1972) - lu(k,1350) * lu(k,1952)
         lu(k,1974) = - lu(k,1351) * lu(k,1952)
         lu(k,1976) = lu(k,1976) - lu(k,1352) * lu(k,1952)
         lu(k,1977) = - lu(k,1353) * lu(k,1952)
         lu(k,1978) = - lu(k,1354) * lu(k,1952)
         lu(k,1979) = - lu(k,1355) * lu(k,1952)
         lu(k,2000) = lu(k,2000) - lu(k,1350) * lu(k,1984)
         lu(k,2002) = - lu(k,1351) * lu(k,1984)
         lu(k,2004) = lu(k,2004) - lu(k,1352) * lu(k,1984)
         lu(k,2005) = - lu(k,1353) * lu(k,1984)
         lu(k,2006) = - lu(k,1354) * lu(k,1984)
         lu(k,2007) = - lu(k,1355) * lu(k,1984)
         lu(k,2404) = lu(k,2404) - lu(k,1350) * lu(k,2387)
         lu(k,2406) = - lu(k,1351) * lu(k,2387)
         lu(k,2408) = lu(k,2408) - lu(k,1352) * lu(k,2387)
         lu(k,2409) = - lu(k,1353) * lu(k,2387)
         lu(k,2410) = - lu(k,1354) * lu(k,2387)
         lu(k,2411) = lu(k,2411) - lu(k,1355) * lu(k,2387)
         lu(k,2431) = lu(k,2431) - lu(k,1350) * lu(k,2416)
         lu(k,2433) = - lu(k,1351) * lu(k,2416)
         lu(k,2435) = lu(k,2435) - lu(k,1352) * lu(k,2416)
         lu(k,2436) = - lu(k,1353) * lu(k,2416)
         lu(k,2437) = - lu(k,1354) * lu(k,2416)
         lu(k,2438) = lu(k,2438) - lu(k,1355) * lu(k,2416)
         lu(k,2990) = lu(k,2990) - lu(k,1350) * lu(k,2933)
         lu(k,2994) = lu(k,2994) - lu(k,1351) * lu(k,2933)
         lu(k,2996) = lu(k,2996) - lu(k,1352) * lu(k,2933)
         lu(k,2997) = - lu(k,1353) * lu(k,2933)
         lu(k,2999) = lu(k,2999) - lu(k,1354) * lu(k,2933)
         lu(k,3000) = lu(k,3000) - lu(k,1355) * lu(k,2933)
         lu(k,3082) = lu(k,3082) - lu(k,1350) * lu(k,3024)
         lu(k,3086) = lu(k,3086) - lu(k,1351) * lu(k,3024)
         lu(k,3088) = lu(k,3088) - lu(k,1352) * lu(k,3024)
         lu(k,3089) = - lu(k,1353) * lu(k,3024)
         lu(k,3091) = - lu(k,1354) * lu(k,3024)
         lu(k,3092) = lu(k,3092) - lu(k,1355) * lu(k,3024)
         lu(k,3285) = lu(k,3285) - lu(k,1350) * lu(k,3218)
         lu(k,3289) = lu(k,3289) - lu(k,1351) * lu(k,3218)
         lu(k,3291) = lu(k,3291) - lu(k,1352) * lu(k,3218)
         lu(k,3292) = lu(k,3292) - lu(k,1353) * lu(k,3218)
         lu(k,3294) = lu(k,3294) - lu(k,1354) * lu(k,3218)
         lu(k,3295) = lu(k,3295) - lu(k,1355) * lu(k,3218)
         lu(k,3456) = lu(k,3456) - lu(k,1350) * lu(k,3445)
         lu(k,3460) = lu(k,3460) - lu(k,1351) * lu(k,3445)
         lu(k,3462) = lu(k,3462) - lu(k,1352) * lu(k,3445)
         lu(k,3463) = lu(k,3463) - lu(k,1353) * lu(k,3445)
         lu(k,3465) = lu(k,3465) - lu(k,1354) * lu(k,3445)
         lu(k,3466) = lu(k,3466) - lu(k,1355) * lu(k,3445)
         lu(k,3746) = lu(k,3746) - lu(k,1350) * lu(k,3679)
         lu(k,3750) = lu(k,3750) - lu(k,1351) * lu(k,3679)
         lu(k,3752) = lu(k,3752) - lu(k,1352) * lu(k,3679)
         lu(k,3753) = lu(k,3753) - lu(k,1353) * lu(k,3679)
         lu(k,3755) = lu(k,3755) - lu(k,1354) * lu(k,3679)
         lu(k,3756) = lu(k,3756) - lu(k,1355) * lu(k,3679)
         lu(k,3827) = lu(k,3827) - lu(k,1350) * lu(k,3814)
         lu(k,3831) = lu(k,3831) - lu(k,1351) * lu(k,3814)
         lu(k,3833) = lu(k,3833) - lu(k,1352) * lu(k,3814)
         lu(k,3834) = lu(k,3834) - lu(k,1353) * lu(k,3814)
         lu(k,3836) = lu(k,3836) - lu(k,1354) * lu(k,3814)
         lu(k,3837) = lu(k,3837) - lu(k,1355) * lu(k,3814)
      end do
      end subroutine lu_fac30
      subroutine lu_fac31( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,1356) = 1._r8 / lu(k,1356)
         lu(k,1357) = lu(k,1357) * lu(k,1356)
         lu(k,1358) = lu(k,1358) * lu(k,1356)
         lu(k,1359) = lu(k,1359) * lu(k,1356)
         lu(k,1377) = lu(k,1377) - lu(k,1357) * lu(k,1368)
         lu(k,1378) = lu(k,1378) - lu(k,1358) * lu(k,1368)
         lu(k,1381) = lu(k,1381) - lu(k,1359) * lu(k,1368)
         lu(k,1560) = lu(k,1560) - lu(k,1357) * lu(k,1546)
         lu(k,1561) = lu(k,1561) - lu(k,1358) * lu(k,1546)
         lu(k,1564) = lu(k,1564) - lu(k,1359) * lu(k,1546)
         lu(k,1581) = lu(k,1581) - lu(k,1357) * lu(k,1568)
         lu(k,1582) = lu(k,1582) - lu(k,1358) * lu(k,1568)
         lu(k,1585) = lu(k,1585) - lu(k,1359) * lu(k,1568)
         lu(k,1678) = lu(k,1678) - lu(k,1357) * lu(k,1661)
         lu(k,1679) = lu(k,1679) - lu(k,1358) * lu(k,1661)
         lu(k,1682) = lu(k,1682) - lu(k,1359) * lu(k,1661)
         lu(k,1740) = lu(k,1740) - lu(k,1357) * lu(k,1718)
         lu(k,1741) = lu(k,1741) - lu(k,1358) * lu(k,1718)
         lu(k,1744) = lu(k,1744) - lu(k,1359) * lu(k,1718)
         lu(k,1790) = lu(k,1790) - lu(k,1357) * lu(k,1773)
         lu(k,1791) = lu(k,1791) - lu(k,1358) * lu(k,1773)
         lu(k,1794) = lu(k,1794) - lu(k,1359) * lu(k,1773)
         lu(k,2042) = lu(k,2042) - lu(k,1357) * lu(k,2018)
         lu(k,2043) = lu(k,2043) - lu(k,1358) * lu(k,2018)
         lu(k,2047) = lu(k,2047) - lu(k,1359) * lu(k,2018)
         lu(k,2064) = lu(k,2064) - lu(k,1357) * lu(k,2052)
         lu(k,2065) = lu(k,2065) - lu(k,1358) * lu(k,2052)
         lu(k,2068) = lu(k,2068) - lu(k,1359) * lu(k,2052)
         lu(k,2109) = lu(k,2109) - lu(k,1357) * lu(k,2094)
         lu(k,2110) = lu(k,2110) - lu(k,1358) * lu(k,2094)
         lu(k,2113) = lu(k,2113) - lu(k,1359) * lu(k,2094)
         lu(k,2131) = lu(k,2131) - lu(k,1357) * lu(k,2116)
         lu(k,2132) = lu(k,2132) - lu(k,1358) * lu(k,2116)
         lu(k,2135) = lu(k,2135) - lu(k,1359) * lu(k,2116)
         lu(k,2147) = lu(k,2147) - lu(k,1357) * lu(k,2138)
         lu(k,2148) = lu(k,2148) - lu(k,1358) * lu(k,2138)
         lu(k,2151) = lu(k,2151) - lu(k,1359) * lu(k,2138)
         lu(k,2170) = lu(k,2170) - lu(k,1357) * lu(k,2153)
         lu(k,2171) = lu(k,2171) - lu(k,1358) * lu(k,2153)
         lu(k,2174) = lu(k,2174) - lu(k,1359) * lu(k,2153)
         lu(k,2227) = lu(k,2227) - lu(k,1357) * lu(k,2205)
         lu(k,2228) = lu(k,2228) - lu(k,1358) * lu(k,2205)
         lu(k,2231) = lu(k,2231) - lu(k,1359) * lu(k,2205)
         lu(k,2285) = lu(k,2285) - lu(k,1357) * lu(k,2264)
         lu(k,2286) = lu(k,2286) - lu(k,1358) * lu(k,2264)
         lu(k,2289) = lu(k,2289) - lu(k,1359) * lu(k,2264)
         lu(k,2317) = lu(k,2317) - lu(k,1357) * lu(k,2297)
         lu(k,2318) = lu(k,2318) - lu(k,1358) * lu(k,2297)
         lu(k,2321) = lu(k,2321) - lu(k,1359) * lu(k,2297)
         lu(k,2344) = lu(k,2344) - lu(k,1357) * lu(k,2327)
         lu(k,2345) = lu(k,2345) - lu(k,1358) * lu(k,2327)
         lu(k,2348) = lu(k,2348) - lu(k,1359) * lu(k,2327)
         lu(k,2378) = lu(k,2378) - lu(k,1357) * lu(k,2356)
         lu(k,2379) = lu(k,2379) - lu(k,1358) * lu(k,2356)
         lu(k,2382) = lu(k,2382) - lu(k,1359) * lu(k,2356)
         lu(k,2456) = lu(k,2456) - lu(k,1357) * lu(k,2441)
         lu(k,2457) = lu(k,2457) - lu(k,1358) * lu(k,2441)
         lu(k,2460) = lu(k,2460) - lu(k,1359) * lu(k,2441)
         lu(k,2889) = lu(k,2889) - lu(k,1357) * lu(k,2825)
         lu(k,2891) = lu(k,2891) - lu(k,1358) * lu(k,2825)
         lu(k,2895) = lu(k,2895) - lu(k,1359) * lu(k,2825)
         lu(k,2990) = lu(k,2990) - lu(k,1357) * lu(k,2934)
         lu(k,2992) = lu(k,2992) - lu(k,1358) * lu(k,2934)
         lu(k,2996) = lu(k,2996) - lu(k,1359) * lu(k,2934)
         lu(k,3082) = lu(k,3082) - lu(k,1357) * lu(k,3025)
         lu(k,3084) = lu(k,3084) - lu(k,1358) * lu(k,3025)
         lu(k,3088) = lu(k,3088) - lu(k,1359) * lu(k,3025)
         lu(k,3285) = lu(k,3285) - lu(k,1357) * lu(k,3219)
         lu(k,3287) = lu(k,3287) - lu(k,1358) * lu(k,3219)
         lu(k,3291) = lu(k,3291) - lu(k,1359) * lu(k,3219)
         lu(k,3426) = lu(k,3426) - lu(k,1357) * lu(k,3364)
         lu(k,3428) = lu(k,3428) - lu(k,1358) * lu(k,3364)
         lu(k,3432) = lu(k,3432) - lu(k,1359) * lu(k,3364)
         lu(k,3746) = lu(k,3746) - lu(k,1357) * lu(k,3680)
         lu(k,3748) = lu(k,3748) - lu(k,1358) * lu(k,3680)
         lu(k,3752) = lu(k,3752) - lu(k,1359) * lu(k,3680)
         lu(k,3827) = lu(k,3827) - lu(k,1357) * lu(k,3815)
         lu(k,3829) = lu(k,3829) - lu(k,1358) * lu(k,3815)
         lu(k,3833) = lu(k,3833) - lu(k,1359) * lu(k,3815)
         lu(k,1360) = 1._r8 / lu(k,1360)
         lu(k,1361) = lu(k,1361) * lu(k,1360)
         lu(k,1362) = lu(k,1362) * lu(k,1360)
         lu(k,1363) = lu(k,1363) * lu(k,1360)
         lu(k,1364) = lu(k,1364) * lu(k,1360)
         lu(k,1365) = lu(k,1365) * lu(k,1360)
         lu(k,1366) = lu(k,1366) * lu(k,1360)
         lu(k,1367) = lu(k,1367) * lu(k,1360)
         lu(k,1371) = lu(k,1371) - lu(k,1361) * lu(k,1369)
         lu(k,1372) = lu(k,1372) - lu(k,1362) * lu(k,1369)
         lu(k,1374) = lu(k,1374) - lu(k,1363) * lu(k,1369)
         lu(k,1375) = lu(k,1375) - lu(k,1364) * lu(k,1369)
         lu(k,1377) = lu(k,1377) - lu(k,1365) * lu(k,1369)
         lu(k,1378) = lu(k,1378) - lu(k,1366) * lu(k,1369)
         lu(k,1381) = lu(k,1381) - lu(k,1367) * lu(k,1369)
         lu(k,1548) = lu(k,1548) - lu(k,1361) * lu(k,1547)
         lu(k,1549) = lu(k,1549) - lu(k,1362) * lu(k,1547)
         lu(k,1554) = - lu(k,1363) * lu(k,1547)
         lu(k,1557) = lu(k,1557) - lu(k,1364) * lu(k,1547)
         lu(k,1560) = lu(k,1560) - lu(k,1365) * lu(k,1547)
         lu(k,1561) = lu(k,1561) - lu(k,1366) * lu(k,1547)
         lu(k,1564) = lu(k,1564) - lu(k,1367) * lu(k,1547)
         lu(k,1631) = lu(k,1631) - lu(k,1361) * lu(k,1630)
         lu(k,1632) = lu(k,1632) - lu(k,1362) * lu(k,1630)
         lu(k,1637) = lu(k,1637) - lu(k,1363) * lu(k,1630)
         lu(k,1638) = - lu(k,1364) * lu(k,1630)
         lu(k,1640) = lu(k,1640) - lu(k,1365) * lu(k,1630)
         lu(k,1641) = lu(k,1641) - lu(k,1366) * lu(k,1630)
         lu(k,1643) = lu(k,1643) - lu(k,1367) * lu(k,1630)
         lu(k,1776) = lu(k,1776) - lu(k,1361) * lu(k,1774)
         lu(k,1777) = lu(k,1777) - lu(k,1362) * lu(k,1774)
         lu(k,1783) = lu(k,1783) - lu(k,1363) * lu(k,1774)
         lu(k,1787) = lu(k,1787) - lu(k,1364) * lu(k,1774)
         lu(k,1790) = lu(k,1790) - lu(k,1365) * lu(k,1774)
         lu(k,1791) = lu(k,1791) - lu(k,1366) * lu(k,1774)
         lu(k,1794) = lu(k,1794) - lu(k,1367) * lu(k,1774)
         lu(k,1885) = lu(k,1885) - lu(k,1361) * lu(k,1883)
         lu(k,1886) = lu(k,1886) - lu(k,1362) * lu(k,1883)
         lu(k,1894) = lu(k,1894) - lu(k,1363) * lu(k,1883)
         lu(k,1900) = - lu(k,1364) * lu(k,1883)
         lu(k,1906) = lu(k,1906) - lu(k,1365) * lu(k,1883)
         lu(k,1907) = lu(k,1907) - lu(k,1366) * lu(k,1883)
         lu(k,1910) = lu(k,1910) - lu(k,1367) * lu(k,1883)
         lu(k,1955) = lu(k,1955) - lu(k,1361) * lu(k,1953)
         lu(k,1957) = lu(k,1957) - lu(k,1362) * lu(k,1953)
         lu(k,1963) = lu(k,1963) - lu(k,1363) * lu(k,1953)
         lu(k,1966) = - lu(k,1364) * lu(k,1953)
         lu(k,1972) = lu(k,1972) - lu(k,1365) * lu(k,1953)
         lu(k,1973) = lu(k,1973) - lu(k,1366) * lu(k,1953)
         lu(k,1976) = lu(k,1976) - lu(k,1367) * lu(k,1953)
         lu(k,2653) = lu(k,2653) - lu(k,1361) * lu(k,2648)
         lu(k,2655) = lu(k,2655) - lu(k,1362) * lu(k,2648)
         lu(k,2670) = lu(k,2670) - lu(k,1363) * lu(k,2648)
         lu(k,2699) = lu(k,2699) - lu(k,1364) * lu(k,2648)
         lu(k,2705) = lu(k,2705) - lu(k,1365) * lu(k,2648)
         lu(k,2706) = lu(k,2706) - lu(k,1366) * lu(k,2648)
         lu(k,2710) = lu(k,2710) - lu(k,1367) * lu(k,2648)
         lu(k,2832) = lu(k,2832) - lu(k,1361) * lu(k,2826)
         lu(k,2836) = lu(k,2836) - lu(k,1362) * lu(k,2826)
         lu(k,2853) = lu(k,2853) - lu(k,1363) * lu(k,2826)
         lu(k,2882) = lu(k,2882) - lu(k,1364) * lu(k,2826)
         lu(k,2889) = lu(k,2889) - lu(k,1365) * lu(k,2826)
         lu(k,2891) = lu(k,2891) - lu(k,1366) * lu(k,2826)
         lu(k,2895) = lu(k,2895) - lu(k,1367) * lu(k,2826)
         lu(k,3228) = lu(k,3228) - lu(k,1361) * lu(k,3220)
         lu(k,3232) = lu(k,3232) - lu(k,1362) * lu(k,3220)
         lu(k,3249) = lu(k,3249) - lu(k,1363) * lu(k,3220)
         lu(k,3278) = lu(k,3278) - lu(k,1364) * lu(k,3220)
         lu(k,3285) = lu(k,3285) - lu(k,1365) * lu(k,3220)
         lu(k,3287) = lu(k,3287) - lu(k,1366) * lu(k,3220)
         lu(k,3291) = lu(k,3291) - lu(k,1367) * lu(k,3220)
         lu(k,3370) = lu(k,3370) - lu(k,1361) * lu(k,3365)
         lu(k,3374) = lu(k,3374) - lu(k,1362) * lu(k,3365)
         lu(k,3390) = lu(k,3390) - lu(k,1363) * lu(k,3365)
         lu(k,3419) = lu(k,3419) - lu(k,1364) * lu(k,3365)
         lu(k,3426) = lu(k,3426) - lu(k,1365) * lu(k,3365)
         lu(k,3428) = lu(k,3428) - lu(k,1366) * lu(k,3365)
         lu(k,3432) = lu(k,3432) - lu(k,1367) * lu(k,3365)
         lu(k,3689) = lu(k,3689) - lu(k,1361) * lu(k,3681)
         lu(k,3694) = lu(k,3694) - lu(k,1362) * lu(k,3681)
         lu(k,3711) = lu(k,3711) - lu(k,1363) * lu(k,3681)
         lu(k,3739) = lu(k,3739) - lu(k,1364) * lu(k,3681)
         lu(k,3746) = lu(k,3746) - lu(k,1365) * lu(k,3681)
         lu(k,3748) = lu(k,3748) - lu(k,1366) * lu(k,3681)
         lu(k,3752) = lu(k,3752) - lu(k,1367) * lu(k,3681)
         lu(k,1370) = 1._r8 / lu(k,1370)
         lu(k,1371) = lu(k,1371) * lu(k,1370)
         lu(k,1372) = lu(k,1372) * lu(k,1370)
         lu(k,1373) = lu(k,1373) * lu(k,1370)
         lu(k,1374) = lu(k,1374) * lu(k,1370)
         lu(k,1375) = lu(k,1375) * lu(k,1370)
         lu(k,1376) = lu(k,1376) * lu(k,1370)
         lu(k,1377) = lu(k,1377) * lu(k,1370)
         lu(k,1378) = lu(k,1378) * lu(k,1370)
         lu(k,1379) = lu(k,1379) * lu(k,1370)
         lu(k,1380) = lu(k,1380) * lu(k,1370)
         lu(k,1381) = lu(k,1381) * lu(k,1370)
         lu(k,1776) = lu(k,1776) - lu(k,1371) * lu(k,1775)
         lu(k,1777) = lu(k,1777) - lu(k,1372) * lu(k,1775)
         lu(k,1781) = - lu(k,1373) * lu(k,1775)
         lu(k,1783) = lu(k,1783) - lu(k,1374) * lu(k,1775)
         lu(k,1787) = lu(k,1787) - lu(k,1375) * lu(k,1775)
         lu(k,1789) = lu(k,1789) - lu(k,1376) * lu(k,1775)
         lu(k,1790) = lu(k,1790) - lu(k,1377) * lu(k,1775)
         lu(k,1791) = lu(k,1791) - lu(k,1378) * lu(k,1775)
         lu(k,1792) = lu(k,1792) - lu(k,1379) * lu(k,1775)
         lu(k,1793) = lu(k,1793) - lu(k,1380) * lu(k,1775)
         lu(k,1794) = lu(k,1794) - lu(k,1381) * lu(k,1775)
         lu(k,1858) = - lu(k,1371) * lu(k,1857)
         lu(k,1859) = lu(k,1859) - lu(k,1372) * lu(k,1857)
         lu(k,1861) = - lu(k,1373) * lu(k,1857)
         lu(k,1862) = lu(k,1862) - lu(k,1374) * lu(k,1857)
         lu(k,1864) = lu(k,1864) - lu(k,1375) * lu(k,1857)
         lu(k,1867) = lu(k,1867) - lu(k,1376) * lu(k,1857)
         lu(k,1870) = lu(k,1870) - lu(k,1377) * lu(k,1857)
         lu(k,1871) = lu(k,1871) - lu(k,1378) * lu(k,1857)
         lu(k,1872) = lu(k,1872) - lu(k,1379) * lu(k,1857)
         lu(k,1873) = lu(k,1873) - lu(k,1380) * lu(k,1857)
         lu(k,1874) = lu(k,1874) - lu(k,1381) * lu(k,1857)
         lu(k,2653) = lu(k,2653) - lu(k,1371) * lu(k,2649)
         lu(k,2655) = lu(k,2655) - lu(k,1372) * lu(k,2649)
         lu(k,2668) = - lu(k,1373) * lu(k,2649)
         lu(k,2670) = lu(k,2670) - lu(k,1374) * lu(k,2649)
         lu(k,2699) = lu(k,2699) - lu(k,1375) * lu(k,2649)
         lu(k,2702) = lu(k,2702) - lu(k,1376) * lu(k,2649)
         lu(k,2705) = lu(k,2705) - lu(k,1377) * lu(k,2649)
         lu(k,2706) = lu(k,2706) - lu(k,1378) * lu(k,2649)
         lu(k,2707) = lu(k,2707) - lu(k,1379) * lu(k,2649)
         lu(k,2709) = lu(k,2709) - lu(k,1380) * lu(k,2649)
         lu(k,2710) = lu(k,2710) - lu(k,1381) * lu(k,2649)
         lu(k,2832) = lu(k,2832) - lu(k,1371) * lu(k,2827)
         lu(k,2836) = lu(k,2836) - lu(k,1372) * lu(k,2827)
         lu(k,2851) = lu(k,2851) - lu(k,1373) * lu(k,2827)
         lu(k,2853) = lu(k,2853) - lu(k,1374) * lu(k,2827)
         lu(k,2882) = lu(k,2882) - lu(k,1375) * lu(k,2827)
         lu(k,2885) = lu(k,2885) - lu(k,1376) * lu(k,2827)
         lu(k,2889) = lu(k,2889) - lu(k,1377) * lu(k,2827)
         lu(k,2891) = lu(k,2891) - lu(k,1378) * lu(k,2827)
         lu(k,2892) = lu(k,2892) - lu(k,1379) * lu(k,2827)
         lu(k,2894) = lu(k,2894) - lu(k,1380) * lu(k,2827)
         lu(k,2895) = lu(k,2895) - lu(k,1381) * lu(k,2827)
         lu(k,3228) = lu(k,3228) - lu(k,1371) * lu(k,3221)
         lu(k,3232) = lu(k,3232) - lu(k,1372) * lu(k,3221)
         lu(k,3247) = lu(k,3247) - lu(k,1373) * lu(k,3221)
         lu(k,3249) = lu(k,3249) - lu(k,1374) * lu(k,3221)
         lu(k,3278) = lu(k,3278) - lu(k,1375) * lu(k,3221)
         lu(k,3281) = lu(k,3281) - lu(k,1376) * lu(k,3221)
         lu(k,3285) = lu(k,3285) - lu(k,1377) * lu(k,3221)
         lu(k,3287) = lu(k,3287) - lu(k,1378) * lu(k,3221)
         lu(k,3288) = lu(k,3288) - lu(k,1379) * lu(k,3221)
         lu(k,3290) = lu(k,3290) - lu(k,1380) * lu(k,3221)
         lu(k,3291) = lu(k,3291) - lu(k,1381) * lu(k,3221)
         lu(k,3370) = lu(k,3370) - lu(k,1371) * lu(k,3366)
         lu(k,3374) = lu(k,3374) - lu(k,1372) * lu(k,3366)
         lu(k,3388) = lu(k,3388) - lu(k,1373) * lu(k,3366)
         lu(k,3390) = lu(k,3390) - lu(k,1374) * lu(k,3366)
         lu(k,3419) = lu(k,3419) - lu(k,1375) * lu(k,3366)
         lu(k,3422) = lu(k,3422) - lu(k,1376) * lu(k,3366)
         lu(k,3426) = lu(k,3426) - lu(k,1377) * lu(k,3366)
         lu(k,3428) = lu(k,3428) - lu(k,1378) * lu(k,3366)
         lu(k,3429) = lu(k,3429) - lu(k,1379) * lu(k,3366)
         lu(k,3431) = lu(k,3431) - lu(k,1380) * lu(k,3366)
         lu(k,3432) = lu(k,3432) - lu(k,1381) * lu(k,3366)
         lu(k,3689) = lu(k,3689) - lu(k,1371) * lu(k,3682)
         lu(k,3694) = lu(k,3694) - lu(k,1372) * lu(k,3682)
         lu(k,3709) = lu(k,3709) - lu(k,1373) * lu(k,3682)
         lu(k,3711) = lu(k,3711) - lu(k,1374) * lu(k,3682)
         lu(k,3739) = lu(k,3739) - lu(k,1375) * lu(k,3682)
         lu(k,3742) = lu(k,3742) - lu(k,1376) * lu(k,3682)
         lu(k,3746) = lu(k,3746) - lu(k,1377) * lu(k,3682)
         lu(k,3748) = lu(k,3748) - lu(k,1378) * lu(k,3682)
         lu(k,3749) = lu(k,3749) - lu(k,1379) * lu(k,3682)
         lu(k,3751) = lu(k,3751) - lu(k,1380) * lu(k,3682)
         lu(k,3752) = lu(k,3752) - lu(k,1381) * lu(k,3682)
         lu(k,1383) = 1._r8 / lu(k,1383)
         lu(k,1384) = lu(k,1384) * lu(k,1383)
         lu(k,1385) = lu(k,1385) * lu(k,1383)
         lu(k,1386) = lu(k,1386) * lu(k,1383)
         lu(k,1387) = lu(k,1387) * lu(k,1383)
         lu(k,1388) = lu(k,1388) * lu(k,1383)
         lu(k,1389) = lu(k,1389) * lu(k,1383)
         lu(k,1390) = lu(k,1390) * lu(k,1383)
         lu(k,1391) = lu(k,1391) * lu(k,1383)
         lu(k,1392) = lu(k,1392) * lu(k,1383)
         lu(k,1393) = lu(k,1393) * lu(k,1383)
         lu(k,1394) = lu(k,1394) * lu(k,1383)
         lu(k,1395) = lu(k,1395) * lu(k,1383)
         lu(k,1664) = lu(k,1664) - lu(k,1384) * lu(k,1662)
         lu(k,1665) = lu(k,1665) - lu(k,1385) * lu(k,1662)
         lu(k,1666) = - lu(k,1386) * lu(k,1662)
         lu(k,1671) = lu(k,1671) - lu(k,1387) * lu(k,1662)
         lu(k,1674) = - lu(k,1388) * lu(k,1662)
         lu(k,1675) = lu(k,1675) - lu(k,1389) * lu(k,1662)
         lu(k,1677) = lu(k,1677) - lu(k,1390) * lu(k,1662)
         lu(k,1678) = lu(k,1678) - lu(k,1391) * lu(k,1662)
         lu(k,1679) = lu(k,1679) - lu(k,1392) * lu(k,1662)
         lu(k,1680) = lu(k,1680) - lu(k,1393) * lu(k,1662)
         lu(k,1681) = lu(k,1681) - lu(k,1394) * lu(k,1662)
         lu(k,1682) = lu(k,1682) - lu(k,1395) * lu(k,1662)
         lu(k,1748) = lu(k,1748) - lu(k,1384) * lu(k,1746)
         lu(k,1749) = - lu(k,1385) * lu(k,1746)
         lu(k,1750) = - lu(k,1386) * lu(k,1746)
         lu(k,1752) = lu(k,1752) - lu(k,1387) * lu(k,1746)
         lu(k,1753) = - lu(k,1388) * lu(k,1746)
         lu(k,1754) = lu(k,1754) - lu(k,1389) * lu(k,1746)
         lu(k,1756) = - lu(k,1390) * lu(k,1746)
         lu(k,1759) = lu(k,1759) - lu(k,1391) * lu(k,1746)
         lu(k,1760) = lu(k,1760) - lu(k,1392) * lu(k,1746)
         lu(k,1761) = lu(k,1761) - lu(k,1393) * lu(k,1746)
         lu(k,1762) = - lu(k,1394) * lu(k,1746)
         lu(k,1763) = lu(k,1763) - lu(k,1395) * lu(k,1746)
         lu(k,2655) = lu(k,2655) - lu(k,1384) * lu(k,2650)
         lu(k,2660) = lu(k,2660) - lu(k,1385) * lu(k,2650)
         lu(k,2661) = - lu(k,1386) * lu(k,2650)
         lu(k,2670) = lu(k,2670) - lu(k,1387) * lu(k,2650)
         lu(k,2681) = lu(k,2681) - lu(k,1388) * lu(k,2650)
         lu(k,2699) = lu(k,2699) - lu(k,1389) * lu(k,2650)
         lu(k,2702) = lu(k,2702) - lu(k,1390) * lu(k,2650)
         lu(k,2705) = lu(k,2705) - lu(k,1391) * lu(k,2650)
         lu(k,2706) = lu(k,2706) - lu(k,1392) * lu(k,2650)
         lu(k,2707) = lu(k,2707) - lu(k,1393) * lu(k,2650)
         lu(k,2709) = lu(k,2709) - lu(k,1394) * lu(k,2650)
         lu(k,2710) = lu(k,2710) - lu(k,1395) * lu(k,2650)
         lu(k,2836) = lu(k,2836) - lu(k,1384) * lu(k,2828)
         lu(k,2841) = lu(k,2841) - lu(k,1385) * lu(k,2828)
         lu(k,2842) = lu(k,2842) - lu(k,1386) * lu(k,2828)
         lu(k,2853) = lu(k,2853) - lu(k,1387) * lu(k,2828)
         lu(k,2864) = lu(k,2864) - lu(k,1388) * lu(k,2828)
         lu(k,2882) = lu(k,2882) - lu(k,1389) * lu(k,2828)
         lu(k,2885) = lu(k,2885) - lu(k,1390) * lu(k,2828)
         lu(k,2889) = lu(k,2889) - lu(k,1391) * lu(k,2828)
         lu(k,2891) = lu(k,2891) - lu(k,1392) * lu(k,2828)
         lu(k,2892) = lu(k,2892) - lu(k,1393) * lu(k,2828)
         lu(k,2894) = lu(k,2894) - lu(k,1394) * lu(k,2828)
         lu(k,2895) = lu(k,2895) - lu(k,1395) * lu(k,2828)
         lu(k,3232) = lu(k,3232) - lu(k,1384) * lu(k,3222)
         lu(k,3237) = lu(k,3237) - lu(k,1385) * lu(k,3222)
         lu(k,3238) = lu(k,3238) - lu(k,1386) * lu(k,3222)
         lu(k,3249) = lu(k,3249) - lu(k,1387) * lu(k,3222)
         lu(k,3260) = lu(k,3260) - lu(k,1388) * lu(k,3222)
         lu(k,3278) = lu(k,3278) - lu(k,1389) * lu(k,3222)
         lu(k,3281) = lu(k,3281) - lu(k,1390) * lu(k,3222)
         lu(k,3285) = lu(k,3285) - lu(k,1391) * lu(k,3222)
         lu(k,3287) = lu(k,3287) - lu(k,1392) * lu(k,3222)
         lu(k,3288) = lu(k,3288) - lu(k,1393) * lu(k,3222)
         lu(k,3290) = lu(k,3290) - lu(k,1394) * lu(k,3222)
         lu(k,3291) = lu(k,3291) - lu(k,1395) * lu(k,3222)
         lu(k,3374) = lu(k,3374) - lu(k,1384) * lu(k,3367)
         lu(k,3379) = lu(k,3379) - lu(k,1385) * lu(k,3367)
         lu(k,3380) = lu(k,3380) - lu(k,1386) * lu(k,3367)
         lu(k,3390) = lu(k,3390) - lu(k,1387) * lu(k,3367)
         lu(k,3401) = lu(k,3401) - lu(k,1388) * lu(k,3367)
         lu(k,3419) = lu(k,3419) - lu(k,1389) * lu(k,3367)
         lu(k,3422) = lu(k,3422) - lu(k,1390) * lu(k,3367)
         lu(k,3426) = lu(k,3426) - lu(k,1391) * lu(k,3367)
         lu(k,3428) = lu(k,3428) - lu(k,1392) * lu(k,3367)
         lu(k,3429) = lu(k,3429) - lu(k,1393) * lu(k,3367)
         lu(k,3431) = lu(k,3431) - lu(k,1394) * lu(k,3367)
         lu(k,3432) = lu(k,3432) - lu(k,1395) * lu(k,3367)
         lu(k,3694) = lu(k,3694) - lu(k,1384) * lu(k,3683)
         lu(k,3699) = lu(k,3699) - lu(k,1385) * lu(k,3683)
         lu(k,3700) = lu(k,3700) - lu(k,1386) * lu(k,3683)
         lu(k,3711) = lu(k,3711) - lu(k,1387) * lu(k,3683)
         lu(k,3721) = lu(k,3721) - lu(k,1388) * lu(k,3683)
         lu(k,3739) = lu(k,3739) - lu(k,1389) * lu(k,3683)
         lu(k,3742) = lu(k,3742) - lu(k,1390) * lu(k,3683)
         lu(k,3746) = lu(k,3746) - lu(k,1391) * lu(k,3683)
         lu(k,3748) = lu(k,3748) - lu(k,1392) * lu(k,3683)
         lu(k,3749) = lu(k,3749) - lu(k,1393) * lu(k,3683)
         lu(k,3751) = lu(k,3751) - lu(k,1394) * lu(k,3683)
         lu(k,3752) = lu(k,3752) - lu(k,1395) * lu(k,3683)
      end do
      end subroutine lu_fac31
      subroutine lu_fac32( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,1396) = 1._r8 / lu(k,1396)
         lu(k,1397) = lu(k,1397) * lu(k,1396)
         lu(k,1398) = lu(k,1398) * lu(k,1396)
         lu(k,1399) = lu(k,1399) * lu(k,1396)
         lu(k,1400) = lu(k,1400) * lu(k,1396)
         lu(k,1401) = lu(k,1401) * lu(k,1396)
         lu(k,1604) = - lu(k,1397) * lu(k,1601)
         lu(k,1606) = lu(k,1606) - lu(k,1398) * lu(k,1601)
         lu(k,1608) = lu(k,1608) - lu(k,1399) * lu(k,1601)
         lu(k,1609) = lu(k,1609) - lu(k,1400) * lu(k,1601)
         lu(k,1610) = lu(k,1610) - lu(k,1401) * lu(k,1601)
         lu(k,2074) = - lu(k,1397) * lu(k,2070)
         lu(k,2082) = - lu(k,1398) * lu(k,2070)
         lu(k,2086) = lu(k,2086) - lu(k,1399) * lu(k,2070)
         lu(k,2089) = lu(k,2089) - lu(k,1400) * lu(k,2070)
         lu(k,2090) = lu(k,2090) - lu(k,1401) * lu(k,2070)
         lu(k,2120) = lu(k,2120) - lu(k,1397) * lu(k,2117)
         lu(k,2128) = lu(k,2128) - lu(k,1398) * lu(k,2117)
         lu(k,2131) = lu(k,2131) - lu(k,1399) * lu(k,2117)
         lu(k,2134) = lu(k,2134) - lu(k,1400) * lu(k,2117)
         lu(k,2135) = lu(k,2135) - lu(k,1401) * lu(k,2117)
         lu(k,2213) = lu(k,2213) - lu(k,1397) * lu(k,2206)
         lu(k,2223) = - lu(k,1398) * lu(k,2206)
         lu(k,2227) = lu(k,2227) - lu(k,1399) * lu(k,2206)
         lu(k,2230) = lu(k,2230) - lu(k,1400) * lu(k,2206)
         lu(k,2231) = lu(k,2231) - lu(k,1401) * lu(k,2206)
         lu(k,2242) = lu(k,2242) - lu(k,1397) * lu(k,2235)
         lu(k,2252) = - lu(k,1398) * lu(k,2235)
         lu(k,2256) = lu(k,2256) - lu(k,1399) * lu(k,2235)
         lu(k,2259) = lu(k,2259) - lu(k,1400) * lu(k,2235)
         lu(k,2260) = lu(k,2260) - lu(k,1401) * lu(k,2235)
         lu(k,2302) = lu(k,2302) - lu(k,1397) * lu(k,2298)
         lu(k,2313) = lu(k,2313) - lu(k,1398) * lu(k,2298)
         lu(k,2317) = lu(k,2317) - lu(k,1399) * lu(k,2298)
         lu(k,2320) = lu(k,2320) - lu(k,1400) * lu(k,2298)
         lu(k,2321) = lu(k,2321) - lu(k,1401) * lu(k,2298)
         lu(k,2331) = lu(k,2331) - lu(k,1397) * lu(k,2328)
         lu(k,2340) = lu(k,2340) - lu(k,1398) * lu(k,2328)
         lu(k,2344) = lu(k,2344) - lu(k,1399) * lu(k,2328)
         lu(k,2347) = lu(k,2347) - lu(k,1400) * lu(k,2328)
         lu(k,2348) = lu(k,2348) - lu(k,1401) * lu(k,2328)
         lu(k,2362) = lu(k,2362) - lu(k,1397) * lu(k,2357)
         lu(k,2374) = lu(k,2374) - lu(k,1398) * lu(k,2357)
         lu(k,2378) = lu(k,2378) - lu(k,1399) * lu(k,2357)
         lu(k,2381) = lu(k,2381) - lu(k,1400) * lu(k,2357)
         lu(k,2382) = lu(k,2382) - lu(k,1401) * lu(k,2357)
         lu(k,2486) = lu(k,2486) - lu(k,1397) * lu(k,2483)
         lu(k,2494) = - lu(k,1398) * lu(k,2483)
         lu(k,2498) = lu(k,2498) - lu(k,1399) * lu(k,2483)
         lu(k,2501) = lu(k,2501) - lu(k,1400) * lu(k,2483)
         lu(k,2502) = lu(k,2502) - lu(k,1401) * lu(k,2483)
         lu(k,2520) = lu(k,2520) - lu(k,1397) * lu(k,2507)
         lu(k,2536) = - lu(k,1398) * lu(k,2507)
         lu(k,2541) = lu(k,2541) - lu(k,1399) * lu(k,2507)
         lu(k,2545) = lu(k,2545) - lu(k,1400) * lu(k,2507)
         lu(k,2546) = lu(k,2546) - lu(k,1401) * lu(k,2507)
         lu(k,2566) = lu(k,2566) - lu(k,1397) * lu(k,2553)
         lu(k,2582) = - lu(k,1398) * lu(k,2553)
         lu(k,2587) = lu(k,2587) - lu(k,1399) * lu(k,2553)
         lu(k,2591) = lu(k,2591) - lu(k,1400) * lu(k,2553)
         lu(k,2592) = lu(k,2592) - lu(k,1401) * lu(k,2553)
         lu(k,2613) = lu(k,2613) - lu(k,1397) * lu(k,2600)
         lu(k,2629) = lu(k,2629) - lu(k,1398) * lu(k,2600)
         lu(k,2634) = lu(k,2634) - lu(k,1399) * lu(k,2600)
         lu(k,2638) = lu(k,2638) - lu(k,1400) * lu(k,2600)
         lu(k,2639) = lu(k,2639) - lu(k,1401) * lu(k,2600)
         lu(k,2684) = lu(k,2684) - lu(k,1397) * lu(k,2651)
         lu(k,2700) = - lu(k,1398) * lu(k,2651)
         lu(k,2705) = lu(k,2705) - lu(k,1399) * lu(k,2651)
         lu(k,2709) = lu(k,2709) - lu(k,1400) * lu(k,2651)
         lu(k,2710) = lu(k,2710) - lu(k,1401) * lu(k,2651)
         lu(k,2867) = lu(k,2867) - lu(k,1397) * lu(k,2829)
         lu(k,2883) = lu(k,2883) - lu(k,1398) * lu(k,2829)
         lu(k,2889) = lu(k,2889) - lu(k,1399) * lu(k,2829)
         lu(k,2894) = lu(k,2894) - lu(k,1400) * lu(k,2829)
         lu(k,2895) = lu(k,2895) - lu(k,1401) * lu(k,2829)
         lu(k,3060) = lu(k,3060) - lu(k,1397) * lu(k,3026)
         lu(k,3076) = lu(k,3076) - lu(k,1398) * lu(k,3026)
         lu(k,3082) = lu(k,3082) - lu(k,1399) * lu(k,3026)
         lu(k,3087) = lu(k,3087) - lu(k,1400) * lu(k,3026)
         lu(k,3088) = lu(k,3088) - lu(k,1401) * lu(k,3026)
         lu(k,3263) = lu(k,3263) - lu(k,1397) * lu(k,3223)
         lu(k,3279) = lu(k,3279) - lu(k,1398) * lu(k,3223)
         lu(k,3285) = lu(k,3285) - lu(k,1399) * lu(k,3223)
         lu(k,3290) = lu(k,3290) - lu(k,1400) * lu(k,3223)
         lu(k,3291) = lu(k,3291) - lu(k,1401) * lu(k,3223)
         lu(k,3404) = lu(k,3404) - lu(k,1397) * lu(k,3368)
         lu(k,3420) = lu(k,3420) - lu(k,1398) * lu(k,3368)
         lu(k,3426) = lu(k,3426) - lu(k,1399) * lu(k,3368)
         lu(k,3431) = lu(k,3431) - lu(k,1400) * lu(k,3368)
         lu(k,3432) = lu(k,3432) - lu(k,1401) * lu(k,3368)
         lu(k,3724) = lu(k,3724) - lu(k,1397) * lu(k,3684)
         lu(k,3740) = lu(k,3740) - lu(k,1398) * lu(k,3684)
         lu(k,3746) = lu(k,3746) - lu(k,1399) * lu(k,3684)
         lu(k,3751) = lu(k,3751) - lu(k,1400) * lu(k,3684)
         lu(k,3752) = lu(k,3752) - lu(k,1401) * lu(k,3684)
         lu(k,1404) = 1._r8 / lu(k,1404)
         lu(k,1405) = lu(k,1405) * lu(k,1404)
         lu(k,1406) = lu(k,1406) * lu(k,1404)
         lu(k,1407) = lu(k,1407) * lu(k,1404)
         lu(k,1408) = lu(k,1408) * lu(k,1404)
         lu(k,1409) = lu(k,1409) * lu(k,1404)
         lu(k,1410) = lu(k,1410) * lu(k,1404)
         lu(k,1411) = lu(k,1411) * lu(k,1404)
         lu(k,1412) = lu(k,1412) * lu(k,1404)
         lu(k,1413) = lu(k,1413) * lu(k,1404)
         lu(k,1440) = lu(k,1440) - lu(k,1405) * lu(k,1438)
         lu(k,1443) = lu(k,1443) - lu(k,1406) * lu(k,1438)
         lu(k,1444) = lu(k,1444) - lu(k,1407) * lu(k,1438)
         lu(k,1446) = lu(k,1446) - lu(k,1408) * lu(k,1438)
         lu(k,1448) = lu(k,1448) - lu(k,1409) * lu(k,1438)
         lu(k,1453) = lu(k,1453) - lu(k,1410) * lu(k,1438)
         lu(k,1455) = lu(k,1455) - lu(k,1411) * lu(k,1438)
         lu(k,1458) = lu(k,1458) - lu(k,1412) * lu(k,1438)
         lu(k,1459) = lu(k,1459) - lu(k,1413) * lu(k,1438)
         lu(k,1696) = lu(k,1696) - lu(k,1405) * lu(k,1695)
         lu(k,1697) = lu(k,1697) - lu(k,1406) * lu(k,1695)
         lu(k,1698) = lu(k,1698) - lu(k,1407) * lu(k,1695)
         lu(k,1699) = - lu(k,1408) * lu(k,1695)
         lu(k,1702) = lu(k,1702) - lu(k,1409) * lu(k,1695)
         lu(k,1705) = - lu(k,1410) * lu(k,1695)
         lu(k,1706) = lu(k,1706) - lu(k,1411) * lu(k,1695)
         lu(k,1708) = - lu(k,1412) * lu(k,1695)
         lu(k,1709) = lu(k,1709) - lu(k,1413) * lu(k,1695)
         lu(k,1720) = lu(k,1720) - lu(k,1405) * lu(k,1719)
         lu(k,1722) = lu(k,1722) - lu(k,1406) * lu(k,1719)
         lu(k,1724) = lu(k,1724) - lu(k,1407) * lu(k,1719)
         lu(k,1726) = lu(k,1726) - lu(k,1408) * lu(k,1719)
         lu(k,1732) = lu(k,1732) - lu(k,1409) * lu(k,1719)
         lu(k,1739) = lu(k,1739) - lu(k,1410) * lu(k,1719)
         lu(k,1740) = lu(k,1740) - lu(k,1411) * lu(k,1719)
         lu(k,1743) = lu(k,1743) - lu(k,1412) * lu(k,1719)
         lu(k,1744) = lu(k,1744) - lu(k,1413) * lu(k,1719)
         lu(k,1819) = lu(k,1819) - lu(k,1405) * lu(k,1818)
         lu(k,1821) = lu(k,1821) - lu(k,1406) * lu(k,1818)
         lu(k,1823) = lu(k,1823) - lu(k,1407) * lu(k,1818)
         lu(k,1825) = lu(k,1825) - lu(k,1408) * lu(k,1818)
         lu(k,1830) = lu(k,1830) - lu(k,1409) * lu(k,1818)
         lu(k,1837) = lu(k,1837) - lu(k,1410) * lu(k,1818)
         lu(k,1838) = lu(k,1838) - lu(k,1411) * lu(k,1818)
         lu(k,1841) = lu(k,1841) - lu(k,1412) * lu(k,1818)
         lu(k,1842) = lu(k,1842) - lu(k,1413) * lu(k,1818)
         lu(k,1885) = lu(k,1885) - lu(k,1405) * lu(k,1884)
         lu(k,1886) = lu(k,1886) - lu(k,1406) * lu(k,1884)
         lu(k,1887) = lu(k,1887) - lu(k,1407) * lu(k,1884)
         lu(k,1888) = - lu(k,1408) * lu(k,1884)
         lu(k,1894) = lu(k,1894) - lu(k,1409) * lu(k,1884)
         lu(k,1903) = - lu(k,1410) * lu(k,1884)
         lu(k,1906) = lu(k,1906) - lu(k,1411) * lu(k,1884)
         lu(k,1909) = - lu(k,1412) * lu(k,1884)
         lu(k,1910) = lu(k,1910) - lu(k,1413) * lu(k,1884)
         lu(k,1921) = lu(k,1921) - lu(k,1405) * lu(k,1920)
         lu(k,1923) = lu(k,1923) - lu(k,1406) * lu(k,1920)
         lu(k,1924) = lu(k,1924) - lu(k,1407) * lu(k,1920)
         lu(k,1926) = lu(k,1926) - lu(k,1408) * lu(k,1920)
         lu(k,1929) = lu(k,1929) - lu(k,1409) * lu(k,1920)
         lu(k,1935) = lu(k,1935) - lu(k,1410) * lu(k,1920)
         lu(k,1938) = lu(k,1938) - lu(k,1411) * lu(k,1920)
         lu(k,1941) = lu(k,1941) - lu(k,1412) * lu(k,1920)
         lu(k,1942) = lu(k,1942) - lu(k,1413) * lu(k,1920)
         lu(k,1955) = lu(k,1955) - lu(k,1405) * lu(k,1954)
         lu(k,1957) = lu(k,1957) - lu(k,1406) * lu(k,1954)
         lu(k,1958) = lu(k,1958) - lu(k,1407) * lu(k,1954)
         lu(k,1960) = lu(k,1960) - lu(k,1408) * lu(k,1954)
         lu(k,1963) = lu(k,1963) - lu(k,1409) * lu(k,1954)
         lu(k,1969) = lu(k,1969) - lu(k,1410) * lu(k,1954)
         lu(k,1972) = lu(k,1972) - lu(k,1411) * lu(k,1954)
         lu(k,1975) = lu(k,1975) - lu(k,1412) * lu(k,1954)
         lu(k,1976) = lu(k,1976) - lu(k,1413) * lu(k,1954)
         lu(k,2832) = lu(k,2832) - lu(k,1405) * lu(k,2830)
         lu(k,2836) = lu(k,2836) - lu(k,1406) * lu(k,2830)
         lu(k,2841) = lu(k,2841) - lu(k,1407) * lu(k,2830)
         lu(k,2843) = lu(k,2843) - lu(k,1408) * lu(k,2830)
         lu(k,2853) = lu(k,2853) - lu(k,1409) * lu(k,2830)
         lu(k,2885) = lu(k,2885) - lu(k,1410) * lu(k,2830)
         lu(k,2889) = lu(k,2889) - lu(k,1411) * lu(k,2830)
         lu(k,2894) = lu(k,2894) - lu(k,1412) * lu(k,2830)
         lu(k,2895) = lu(k,2895) - lu(k,1413) * lu(k,2830)
         lu(k,3228) = lu(k,3228) - lu(k,1405) * lu(k,3224)
         lu(k,3232) = lu(k,3232) - lu(k,1406) * lu(k,3224)
         lu(k,3237) = lu(k,3237) - lu(k,1407) * lu(k,3224)
         lu(k,3239) = lu(k,3239) - lu(k,1408) * lu(k,3224)
         lu(k,3249) = lu(k,3249) - lu(k,1409) * lu(k,3224)
         lu(k,3281) = lu(k,3281) - lu(k,1410) * lu(k,3224)
         lu(k,3285) = lu(k,3285) - lu(k,1411) * lu(k,3224)
         lu(k,3290) = lu(k,3290) - lu(k,1412) * lu(k,3224)
         lu(k,3291) = lu(k,3291) - lu(k,1413) * lu(k,3224)
         lu(k,3689) = lu(k,3689) - lu(k,1405) * lu(k,3685)
         lu(k,3694) = lu(k,3694) - lu(k,1406) * lu(k,3685)
         lu(k,3699) = lu(k,3699) - lu(k,1407) * lu(k,3685)
         lu(k,3701) = lu(k,3701) - lu(k,1408) * lu(k,3685)
         lu(k,3711) = lu(k,3711) - lu(k,1409) * lu(k,3685)
         lu(k,3742) = lu(k,3742) - lu(k,1410) * lu(k,3685)
         lu(k,3746) = lu(k,3746) - lu(k,1411) * lu(k,3685)
         lu(k,3751) = lu(k,3751) - lu(k,1412) * lu(k,3685)
         lu(k,3752) = lu(k,3752) - lu(k,1413) * lu(k,3685)
         lu(k,1416) = 1._r8 / lu(k,1416)
         lu(k,1417) = lu(k,1417) * lu(k,1416)
         lu(k,1418) = lu(k,1418) * lu(k,1416)
         lu(k,1419) = lu(k,1419) * lu(k,1416)
         lu(k,1420) = lu(k,1420) * lu(k,1416)
         lu(k,1421) = lu(k,1421) * lu(k,1416)
         lu(k,1422) = lu(k,1422) * lu(k,1416)
         lu(k,1423) = lu(k,1423) * lu(k,1416)
         lu(k,1424) = lu(k,1424) * lu(k,1416)
         lu(k,1425) = lu(k,1425) * lu(k,1416)
         lu(k,1426) = lu(k,1426) * lu(k,1416)
         lu(k,2717) = lu(k,2717) - lu(k,1417) * lu(k,2716)
         lu(k,2718) = lu(k,2718) - lu(k,1418) * lu(k,2716)
         lu(k,2719) = lu(k,2719) - lu(k,1419) * lu(k,2716)
         lu(k,2720) = - lu(k,1420) * lu(k,2716)
         lu(k,2721) = lu(k,2721) - lu(k,1421) * lu(k,2716)
         lu(k,2722) = - lu(k,1422) * lu(k,2716)
         lu(k,2724) = lu(k,2724) - lu(k,1423) * lu(k,2716)
         lu(k,2725) = - lu(k,1424) * lu(k,2716)
         lu(k,2726) = - lu(k,1425) * lu(k,2716)
         lu(k,2727) = lu(k,2727) - lu(k,1426) * lu(k,2716)
         lu(k,2729) = - lu(k,1417) * lu(k,2728)
         lu(k,2730) = lu(k,2730) - lu(k,1418) * lu(k,2728)
         lu(k,2732) = - lu(k,1419) * lu(k,2728)
         lu(k,2733) = - lu(k,1420) * lu(k,2728)
         lu(k,2735) = - lu(k,1421) * lu(k,2728)
         lu(k,2736) = lu(k,2736) - lu(k,1422) * lu(k,2728)
         lu(k,2738) = lu(k,2738) - lu(k,1423) * lu(k,2728)
         lu(k,2739) = - lu(k,1424) * lu(k,2728)
         lu(k,2740) = - lu(k,1425) * lu(k,2728)
         lu(k,2741) = lu(k,2741) - lu(k,1426) * lu(k,2728)
         lu(k,3100) = lu(k,3100) - lu(k,1417) * lu(k,3098)
         lu(k,3101) = lu(k,3101) - lu(k,1418) * lu(k,3098)
         lu(k,3104) = lu(k,3104) - lu(k,1419) * lu(k,3098)
         lu(k,3105) = lu(k,3105) - lu(k,1420) * lu(k,3098)
         lu(k,3109) = lu(k,3109) - lu(k,1421) * lu(k,3098)
         lu(k,3110) = lu(k,3110) - lu(k,1422) * lu(k,3098)
         lu(k,3112) = lu(k,3112) - lu(k,1423) * lu(k,3098)
         lu(k,3113) = lu(k,3113) - lu(k,1424) * lu(k,3098)
         lu(k,3115) = lu(k,3115) - lu(k,1425) * lu(k,3098)
         lu(k,3116) = lu(k,3116) - lu(k,1426) * lu(k,3098)
         lu(k,3279) = lu(k,3279) - lu(k,1417) * lu(k,3225)
         lu(k,3280) = lu(k,3280) - lu(k,1418) * lu(k,3225)
         lu(k,3283) = lu(k,3283) - lu(k,1419) * lu(k,3225)
         lu(k,3284) = lu(k,3284) - lu(k,1420) * lu(k,3225)
         lu(k,3288) = lu(k,3288) - lu(k,1421) * lu(k,3225)
         lu(k,3289) = lu(k,3289) - lu(k,1422) * lu(k,3225)
         lu(k,3291) = lu(k,3291) - lu(k,1423) * lu(k,3225)
         lu(k,3292) = lu(k,3292) - lu(k,1424) * lu(k,3225)
         lu(k,3294) = lu(k,3294) - lu(k,1425) * lu(k,3225)
         lu(k,3295) = lu(k,3295) - lu(k,1426) * lu(k,3225)
         lu(k,3329) = lu(k,3329) - lu(k,1417) * lu(k,3326)
         lu(k,3330) = lu(k,3330) - lu(k,1418) * lu(k,3326)
         lu(k,3333) = lu(k,3333) - lu(k,1419) * lu(k,3326)
         lu(k,3334) = lu(k,3334) - lu(k,1420) * lu(k,3326)
         lu(k,3338) = - lu(k,1421) * lu(k,3326)
         lu(k,3339) = lu(k,3339) - lu(k,1422) * lu(k,3326)
         lu(k,3341) = lu(k,3341) - lu(k,1423) * lu(k,3326)
         lu(k,3342) = lu(k,3342) - lu(k,1424) * lu(k,3326)
         lu(k,3344) = lu(k,3344) - lu(k,1425) * lu(k,3326)
         lu(k,3345) = lu(k,3345) - lu(k,1426) * lu(k,3326)
         lu(k,3450) = lu(k,3450) - lu(k,1417) * lu(k,3446)
         lu(k,3451) = lu(k,3451) - lu(k,1418) * lu(k,3446)
         lu(k,3454) = lu(k,3454) - lu(k,1419) * lu(k,3446)
         lu(k,3455) = lu(k,3455) - lu(k,1420) * lu(k,3446)
         lu(k,3459) = - lu(k,1421) * lu(k,3446)
         lu(k,3460) = lu(k,3460) - lu(k,1422) * lu(k,3446)
         lu(k,3462) = lu(k,3462) - lu(k,1423) * lu(k,3446)
         lu(k,3463) = lu(k,3463) - lu(k,1424) * lu(k,3446)
         lu(k,3465) = lu(k,3465) - lu(k,1425) * lu(k,3446)
         lu(k,3466) = lu(k,3466) - lu(k,1426) * lu(k,3446)
         lu(k,3740) = lu(k,3740) - lu(k,1417) * lu(k,3686)
         lu(k,3741) = lu(k,3741) - lu(k,1418) * lu(k,3686)
         lu(k,3744) = lu(k,3744) - lu(k,1419) * lu(k,3686)
         lu(k,3745) = lu(k,3745) - lu(k,1420) * lu(k,3686)
         lu(k,3749) = lu(k,3749) - lu(k,1421) * lu(k,3686)
         lu(k,3750) = lu(k,3750) - lu(k,1422) * lu(k,3686)
         lu(k,3752) = lu(k,3752) - lu(k,1423) * lu(k,3686)
         lu(k,3753) = lu(k,3753) - lu(k,1424) * lu(k,3686)
         lu(k,3755) = lu(k,3755) - lu(k,1425) * lu(k,3686)
         lu(k,3756) = lu(k,3756) - lu(k,1426) * lu(k,3686)
         lu(k,3821) = lu(k,3821) - lu(k,1417) * lu(k,3816)
         lu(k,3822) = lu(k,3822) - lu(k,1418) * lu(k,3816)
         lu(k,3825) = lu(k,3825) - lu(k,1419) * lu(k,3816)
         lu(k,3826) = - lu(k,1420) * lu(k,3816)
         lu(k,3830) = lu(k,3830) - lu(k,1421) * lu(k,3816)
         lu(k,3831) = lu(k,3831) - lu(k,1422) * lu(k,3816)
         lu(k,3833) = lu(k,3833) - lu(k,1423) * lu(k,3816)
         lu(k,3834) = lu(k,3834) - lu(k,1424) * lu(k,3816)
         lu(k,3836) = lu(k,3836) - lu(k,1425) * lu(k,3816)
         lu(k,3837) = lu(k,3837) - lu(k,1426) * lu(k,3816)
         lu(k,3846) = lu(k,3846) - lu(k,1417) * lu(k,3843)
         lu(k,3847) = lu(k,3847) - lu(k,1418) * lu(k,3843)
         lu(k,3850) = lu(k,3850) - lu(k,1419) * lu(k,3843)
         lu(k,3851) = lu(k,3851) - lu(k,1420) * lu(k,3843)
         lu(k,3855) = lu(k,3855) - lu(k,1421) * lu(k,3843)
         lu(k,3856) = lu(k,3856) - lu(k,1422) * lu(k,3843)
         lu(k,3858) = lu(k,3858) - lu(k,1423) * lu(k,3843)
         lu(k,3859) = - lu(k,1424) * lu(k,3843)
         lu(k,3861) = - lu(k,1425) * lu(k,3843)
         lu(k,3862) = lu(k,3862) - lu(k,1426) * lu(k,3843)
      end do
      end subroutine lu_fac32
      subroutine lu_fac33( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,1439) = 1._r8 / lu(k,1439)
         lu(k,1440) = lu(k,1440) * lu(k,1439)
         lu(k,1441) = lu(k,1441) * lu(k,1439)
         lu(k,1442) = lu(k,1442) * lu(k,1439)
         lu(k,1443) = lu(k,1443) * lu(k,1439)
         lu(k,1444) = lu(k,1444) * lu(k,1439)
         lu(k,1445) = lu(k,1445) * lu(k,1439)
         lu(k,1446) = lu(k,1446) * lu(k,1439)
         lu(k,1447) = lu(k,1447) * lu(k,1439)
         lu(k,1448) = lu(k,1448) * lu(k,1439)
         lu(k,1449) = lu(k,1449) * lu(k,1439)
         lu(k,1450) = lu(k,1450) * lu(k,1439)
         lu(k,1451) = lu(k,1451) * lu(k,1439)
         lu(k,1452) = lu(k,1452) * lu(k,1439)
         lu(k,1453) = lu(k,1453) * lu(k,1439)
         lu(k,1454) = lu(k,1454) * lu(k,1439)
         lu(k,1455) = lu(k,1455) * lu(k,1439)
         lu(k,1456) = lu(k,1456) * lu(k,1439)
         lu(k,1457) = lu(k,1457) * lu(k,1439)
         lu(k,1458) = lu(k,1458) * lu(k,1439)
         lu(k,1459) = lu(k,1459) * lu(k,1439)
         lu(k,1460) = lu(k,1460) * lu(k,1439)
         lu(k,1461) = lu(k,1461) * lu(k,1439)
         lu(k,1462) = lu(k,1462) * lu(k,1439)
         lu(k,2020) = lu(k,2020) - lu(k,1440) * lu(k,2019)
         lu(k,2021) = lu(k,2021) - lu(k,1441) * lu(k,2019)
         lu(k,2022) = lu(k,2022) - lu(k,1442) * lu(k,2019)
         lu(k,2023) = lu(k,2023) - lu(k,1443) * lu(k,2019)
         lu(k,2024) = lu(k,2024) - lu(k,1444) * lu(k,2019)
         lu(k,2025) = lu(k,2025) - lu(k,1445) * lu(k,2019)
         lu(k,2026) = lu(k,2026) - lu(k,1446) * lu(k,2019)
         lu(k,2028) = lu(k,2028) - lu(k,1447) * lu(k,2019)
         lu(k,2029) = lu(k,2029) - lu(k,1448) * lu(k,2019)
         lu(k,2033) = lu(k,2033) - lu(k,1449) * lu(k,2019)
         lu(k,2034) = lu(k,2034) - lu(k,1450) * lu(k,2019)
         lu(k,2036) = lu(k,2036) - lu(k,1451) * lu(k,2019)
         lu(k,2037) = lu(k,2037) - lu(k,1452) * lu(k,2019)
         lu(k,2039) = lu(k,2039) - lu(k,1453) * lu(k,2019)
         lu(k,2040) = - lu(k,1454) * lu(k,2019)
         lu(k,2042) = lu(k,2042) - lu(k,1455) * lu(k,2019)
         lu(k,2043) = lu(k,2043) - lu(k,1456) * lu(k,2019)
         lu(k,2045) = - lu(k,1457) * lu(k,2019)
         lu(k,2046) = lu(k,2046) - lu(k,1458) * lu(k,2019)
         lu(k,2047) = lu(k,2047) - lu(k,1459) * lu(k,2019)
         lu(k,2048) = - lu(k,1460) * lu(k,2019)
         lu(k,2049) = - lu(k,1461) * lu(k,2019)
         lu(k,2050) = lu(k,2050) - lu(k,1462) * lu(k,2019)
         lu(k,2936) = lu(k,2936) - lu(k,1440) * lu(k,2935)
         lu(k,2937) = - lu(k,1441) * lu(k,2935)
         lu(k,2939) = - lu(k,1442) * lu(k,2935)
         lu(k,2940) = lu(k,2940) - lu(k,1443) * lu(k,2935)
         lu(k,2943) = lu(k,2943) - lu(k,1444) * lu(k,2935)
         lu(k,2944) = - lu(k,1445) * lu(k,2935)
         lu(k,2945) = - lu(k,1446) * lu(k,2935)
         lu(k,2953) = - lu(k,1447) * lu(k,2935)
         lu(k,2955) = lu(k,2955) - lu(k,1448) * lu(k,2935)
         lu(k,2960) = lu(k,2960) - lu(k,1449) * lu(k,2935)
         lu(k,2961) = lu(k,2961) - lu(k,1450) * lu(k,2935)
         lu(k,2983) = lu(k,2983) - lu(k,1451) * lu(k,2935)
         lu(k,2984) = lu(k,2984) - lu(k,1452) * lu(k,2935)
         lu(k,2986) = lu(k,2986) - lu(k,1453) * lu(k,2935)
         lu(k,2987) = lu(k,2987) - lu(k,1454) * lu(k,2935)
         lu(k,2990) = lu(k,2990) - lu(k,1455) * lu(k,2935)
         lu(k,2992) = lu(k,2992) - lu(k,1456) * lu(k,2935)
         lu(k,2994) = lu(k,2994) - lu(k,1457) * lu(k,2935)
         lu(k,2995) = lu(k,2995) - lu(k,1458) * lu(k,2935)
         lu(k,2996) = lu(k,2996) - lu(k,1459) * lu(k,2935)
         lu(k,2997) = lu(k,2997) - lu(k,1460) * lu(k,2935)
         lu(k,2999) = lu(k,2999) - lu(k,1461) * lu(k,2935)
         lu(k,3000) = lu(k,3000) - lu(k,1462) * lu(k,2935)
         lu(k,3228) = lu(k,3228) - lu(k,1440) * lu(k,3226)
         lu(k,3229) = lu(k,3229) - lu(k,1441) * lu(k,3226)
         lu(k,3231) = lu(k,3231) - lu(k,1442) * lu(k,3226)
         lu(k,3232) = lu(k,3232) - lu(k,1443) * lu(k,3226)
         lu(k,3237) = lu(k,3237) - lu(k,1444) * lu(k,3226)
         lu(k,3238) = lu(k,3238) - lu(k,1445) * lu(k,3226)
         lu(k,3239) = lu(k,3239) - lu(k,1446) * lu(k,3226)
         lu(k,3247) = lu(k,3247) - lu(k,1447) * lu(k,3226)
         lu(k,3249) = lu(k,3249) - lu(k,1448) * lu(k,3226)
         lu(k,3254) = lu(k,3254) - lu(k,1449) * lu(k,3226)
         lu(k,3255) = lu(k,3255) - lu(k,1450) * lu(k,3226)
         lu(k,3278) = lu(k,3278) - lu(k,1451) * lu(k,3226)
         lu(k,3279) = lu(k,3279) - lu(k,1452) * lu(k,3226)
         lu(k,3281) = lu(k,3281) - lu(k,1453) * lu(k,3226)
         lu(k,3282) = lu(k,3282) - lu(k,1454) * lu(k,3226)
         lu(k,3285) = lu(k,3285) - lu(k,1455) * lu(k,3226)
         lu(k,3287) = lu(k,3287) - lu(k,1456) * lu(k,3226)
         lu(k,3289) = lu(k,3289) - lu(k,1457) * lu(k,3226)
         lu(k,3290) = lu(k,3290) - lu(k,1458) * lu(k,3226)
         lu(k,3291) = lu(k,3291) - lu(k,1459) * lu(k,3226)
         lu(k,3292) = lu(k,3292) - lu(k,1460) * lu(k,3226)
         lu(k,3294) = lu(k,3294) - lu(k,1461) * lu(k,3226)
         lu(k,3295) = lu(k,3295) - lu(k,1462) * lu(k,3226)
         lu(k,3689) = lu(k,3689) - lu(k,1440) * lu(k,3687)
         lu(k,3690) = lu(k,3690) - lu(k,1441) * lu(k,3687)
         lu(k,3693) = lu(k,3693) - lu(k,1442) * lu(k,3687)
         lu(k,3694) = lu(k,3694) - lu(k,1443) * lu(k,3687)
         lu(k,3699) = lu(k,3699) - lu(k,1444) * lu(k,3687)
         lu(k,3700) = lu(k,3700) - lu(k,1445) * lu(k,3687)
         lu(k,3701) = lu(k,3701) - lu(k,1446) * lu(k,3687)
         lu(k,3709) = lu(k,3709) - lu(k,1447) * lu(k,3687)
         lu(k,3711) = lu(k,3711) - lu(k,1448) * lu(k,3687)
         lu(k,3716) = lu(k,3716) - lu(k,1449) * lu(k,3687)
         lu(k,3717) = lu(k,3717) - lu(k,1450) * lu(k,3687)
         lu(k,3739) = lu(k,3739) - lu(k,1451) * lu(k,3687)
         lu(k,3740) = lu(k,3740) - lu(k,1452) * lu(k,3687)
         lu(k,3742) = lu(k,3742) - lu(k,1453) * lu(k,3687)
         lu(k,3743) = lu(k,3743) - lu(k,1454) * lu(k,3687)
         lu(k,3746) = lu(k,3746) - lu(k,1455) * lu(k,3687)
         lu(k,3748) = lu(k,3748) - lu(k,1456) * lu(k,3687)
         lu(k,3750) = lu(k,3750) - lu(k,1457) * lu(k,3687)
         lu(k,3751) = lu(k,3751) - lu(k,1458) * lu(k,3687)
         lu(k,3752) = lu(k,3752) - lu(k,1459) * lu(k,3687)
         lu(k,3753) = lu(k,3753) - lu(k,1460) * lu(k,3687)
         lu(k,3755) = lu(k,3755) - lu(k,1461) * lu(k,3687)
         lu(k,3756) = lu(k,3756) - lu(k,1462) * lu(k,3687)
         lu(k,1463) = 1._r8 / lu(k,1463)
         lu(k,1464) = lu(k,1464) * lu(k,1463)
         lu(k,1465) = lu(k,1465) * lu(k,1463)
         lu(k,1466) = lu(k,1466) * lu(k,1463)
         lu(k,1467) = lu(k,1467) * lu(k,1463)
         lu(k,1591) = - lu(k,1464) * lu(k,1589)
         lu(k,1595) = lu(k,1595) - lu(k,1465) * lu(k,1589)
         lu(k,1596) = lu(k,1596) - lu(k,1466) * lu(k,1589)
         lu(k,1597) = lu(k,1597) - lu(k,1467) * lu(k,1589)
         lu(k,1604) = lu(k,1604) - lu(k,1464) * lu(k,1602)
         lu(k,1608) = lu(k,1608) - lu(k,1465) * lu(k,1602)
         lu(k,1609) = lu(k,1609) - lu(k,1466) * lu(k,1602)
         lu(k,1610) = lu(k,1610) - lu(k,1467) * lu(k,1602)
         lu(k,2098) = lu(k,2098) - lu(k,1464) * lu(k,2095)
         lu(k,2109) = lu(k,2109) - lu(k,1465) * lu(k,2095)
         lu(k,2112) = lu(k,2112) - lu(k,1466) * lu(k,2095)
         lu(k,2113) = lu(k,2113) - lu(k,1467) * lu(k,2095)
         lu(k,2120) = lu(k,2120) - lu(k,1464) * lu(k,2118)
         lu(k,2131) = lu(k,2131) - lu(k,1465) * lu(k,2118)
         lu(k,2134) = lu(k,2134) - lu(k,1466) * lu(k,2118)
         lu(k,2135) = lu(k,2135) - lu(k,1467) * lu(k,2118)
         lu(k,2180) = lu(k,2180) - lu(k,1464) * lu(k,2177)
         lu(k,2188) = lu(k,2188) - lu(k,1465) * lu(k,2177)
         lu(k,2190) = lu(k,2190) - lu(k,1466) * lu(k,2177)
         lu(k,2191) = lu(k,2191) - lu(k,1467) * lu(k,2177)
         lu(k,2213) = lu(k,2213) - lu(k,1464) * lu(k,2207)
         lu(k,2227) = lu(k,2227) - lu(k,1465) * lu(k,2207)
         lu(k,2230) = lu(k,2230) - lu(k,1466) * lu(k,2207)
         lu(k,2231) = lu(k,2231) - lu(k,1467) * lu(k,2207)
         lu(k,2242) = lu(k,2242) - lu(k,1464) * lu(k,2236)
         lu(k,2256) = lu(k,2256) - lu(k,1465) * lu(k,2236)
         lu(k,2259) = lu(k,2259) - lu(k,1466) * lu(k,2236)
         lu(k,2260) = lu(k,2260) - lu(k,1467) * lu(k,2236)
         lu(k,2270) = lu(k,2270) - lu(k,1464) * lu(k,2265)
         lu(k,2285) = lu(k,2285) - lu(k,1465) * lu(k,2265)
         lu(k,2288) = lu(k,2288) - lu(k,1466) * lu(k,2265)
         lu(k,2289) = lu(k,2289) - lu(k,1467) * lu(k,2265)
         lu(k,2302) = lu(k,2302) - lu(k,1464) * lu(k,2299)
         lu(k,2317) = lu(k,2317) - lu(k,1465) * lu(k,2299)
         lu(k,2320) = lu(k,2320) - lu(k,1466) * lu(k,2299)
         lu(k,2321) = lu(k,2321) - lu(k,1467) * lu(k,2299)
         lu(k,2331) = lu(k,2331) - lu(k,1464) * lu(k,2329)
         lu(k,2344) = lu(k,2344) - lu(k,1465) * lu(k,2329)
         lu(k,2347) = lu(k,2347) - lu(k,1466) * lu(k,2329)
         lu(k,2348) = lu(k,2348) - lu(k,1467) * lu(k,2329)
         lu(k,2362) = lu(k,2362) - lu(k,1464) * lu(k,2358)
         lu(k,2378) = lu(k,2378) - lu(k,1465) * lu(k,2358)
         lu(k,2381) = lu(k,2381) - lu(k,1466) * lu(k,2358)
         lu(k,2382) = lu(k,2382) - lu(k,1467) * lu(k,2358)
         lu(k,2419) = - lu(k,1464) * lu(k,2417)
         lu(k,2431) = lu(k,2431) - lu(k,1465) * lu(k,2417)
         lu(k,2434) = lu(k,2434) - lu(k,1466) * lu(k,2417)
         lu(k,2435) = lu(k,2435) - lu(k,1467) * lu(k,2417)
         lu(k,2444) = lu(k,2444) - lu(k,1464) * lu(k,2442)
         lu(k,2456) = lu(k,2456) - lu(k,1465) * lu(k,2442)
         lu(k,2459) = lu(k,2459) - lu(k,1466) * lu(k,2442)
         lu(k,2460) = lu(k,2460) - lu(k,1467) * lu(k,2442)
         lu(k,2465) = - lu(k,1464) * lu(k,2462)
         lu(k,2477) = lu(k,2477) - lu(k,1465) * lu(k,2462)
         lu(k,2480) = lu(k,2480) - lu(k,1466) * lu(k,2462)
         lu(k,2481) = lu(k,2481) - lu(k,1467) * lu(k,2462)
         lu(k,2520) = lu(k,2520) - lu(k,1464) * lu(k,2508)
         lu(k,2541) = lu(k,2541) - lu(k,1465) * lu(k,2508)
         lu(k,2545) = lu(k,2545) - lu(k,1466) * lu(k,2508)
         lu(k,2546) = lu(k,2546) - lu(k,1467) * lu(k,2508)
         lu(k,2566) = lu(k,2566) - lu(k,1464) * lu(k,2554)
         lu(k,2587) = lu(k,2587) - lu(k,1465) * lu(k,2554)
         lu(k,2591) = lu(k,2591) - lu(k,1466) * lu(k,2554)
         lu(k,2592) = lu(k,2592) - lu(k,1467) * lu(k,2554)
         lu(k,2613) = lu(k,2613) - lu(k,1464) * lu(k,2601)
         lu(k,2634) = lu(k,2634) - lu(k,1465) * lu(k,2601)
         lu(k,2638) = lu(k,2638) - lu(k,1466) * lu(k,2601)
         lu(k,2639) = lu(k,2639) - lu(k,1467) * lu(k,2601)
         lu(k,2684) = lu(k,2684) - lu(k,1464) * lu(k,2652)
         lu(k,2705) = lu(k,2705) - lu(k,1465) * lu(k,2652)
         lu(k,2709) = lu(k,2709) - lu(k,1466) * lu(k,2652)
         lu(k,2710) = lu(k,2710) - lu(k,1467) * lu(k,2652)
         lu(k,2867) = lu(k,2867) - lu(k,1464) * lu(k,2831)
         lu(k,2889) = lu(k,2889) - lu(k,1465) * lu(k,2831)
         lu(k,2894) = lu(k,2894) - lu(k,1466) * lu(k,2831)
         lu(k,2895) = lu(k,2895) - lu(k,1467) * lu(k,2831)
         lu(k,3060) = lu(k,3060) - lu(k,1464) * lu(k,3027)
         lu(k,3082) = lu(k,3082) - lu(k,1465) * lu(k,3027)
         lu(k,3087) = lu(k,3087) - lu(k,1466) * lu(k,3027)
         lu(k,3088) = lu(k,3088) - lu(k,1467) * lu(k,3027)
         lu(k,3263) = lu(k,3263) - lu(k,1464) * lu(k,3227)
         lu(k,3285) = lu(k,3285) - lu(k,1465) * lu(k,3227)
         lu(k,3290) = lu(k,3290) - lu(k,1466) * lu(k,3227)
         lu(k,3291) = lu(k,3291) - lu(k,1467) * lu(k,3227)
         lu(k,3404) = lu(k,3404) - lu(k,1464) * lu(k,3369)
         lu(k,3426) = lu(k,3426) - lu(k,1465) * lu(k,3369)
         lu(k,3431) = lu(k,3431) - lu(k,1466) * lu(k,3369)
         lu(k,3432) = lu(k,3432) - lu(k,1467) * lu(k,3369)
         lu(k,3724) = lu(k,3724) - lu(k,1464) * lu(k,3688)
         lu(k,3746) = lu(k,3746) - lu(k,1465) * lu(k,3688)
         lu(k,3751) = lu(k,3751) - lu(k,1466) * lu(k,3688)
         lu(k,3752) = lu(k,3752) - lu(k,1467) * lu(k,3688)
         lu(k,1469) = 1._r8 / lu(k,1469)
         lu(k,1470) = lu(k,1470) * lu(k,1469)
         lu(k,1471) = lu(k,1471) * lu(k,1469)
         lu(k,1472) = lu(k,1472) * lu(k,1469)
         lu(k,1473) = lu(k,1473) * lu(k,1469)
         lu(k,1481) = lu(k,1481) - lu(k,1470) * lu(k,1479)
         lu(k,1490) = lu(k,1490) - lu(k,1471) * lu(k,1479)
         lu(k,1491) = lu(k,1491) - lu(k,1472) * lu(k,1479)
         lu(k,1493) = lu(k,1493) - lu(k,1473) * lu(k,1479)
         lu(k,1530) = lu(k,1530) - lu(k,1470) * lu(k,1528)
         lu(k,1536) = lu(k,1536) - lu(k,1471) * lu(k,1528)
         lu(k,1537) = - lu(k,1472) * lu(k,1528)
         lu(k,1539) = lu(k,1539) - lu(k,1473) * lu(k,1528)
         lu(k,1549) = lu(k,1549) - lu(k,1470) * lu(k,1548)
         lu(k,1560) = lu(k,1560) - lu(k,1471) * lu(k,1548)
         lu(k,1561) = lu(k,1561) - lu(k,1472) * lu(k,1548)
         lu(k,1564) = lu(k,1564) - lu(k,1473) * lu(k,1548)
         lu(k,1570) = lu(k,1570) - lu(k,1470) * lu(k,1569)
         lu(k,1581) = lu(k,1581) - lu(k,1471) * lu(k,1569)
         lu(k,1582) = lu(k,1582) - lu(k,1472) * lu(k,1569)
         lu(k,1585) = lu(k,1585) - lu(k,1473) * lu(k,1569)
         lu(k,1632) = lu(k,1632) - lu(k,1470) * lu(k,1631)
         lu(k,1640) = lu(k,1640) - lu(k,1471) * lu(k,1631)
         lu(k,1641) = lu(k,1641) - lu(k,1472) * lu(k,1631)
         lu(k,1643) = lu(k,1643) - lu(k,1473) * lu(k,1631)
         lu(k,1664) = lu(k,1664) - lu(k,1470) * lu(k,1663)
         lu(k,1678) = lu(k,1678) - lu(k,1471) * lu(k,1663)
         lu(k,1679) = lu(k,1679) - lu(k,1472) * lu(k,1663)
         lu(k,1682) = lu(k,1682) - lu(k,1473) * lu(k,1663)
         lu(k,1697) = lu(k,1697) - lu(k,1470) * lu(k,1696)
         lu(k,1706) = lu(k,1706) - lu(k,1471) * lu(k,1696)
         lu(k,1707) = - lu(k,1472) * lu(k,1696)
         lu(k,1709) = lu(k,1709) - lu(k,1473) * lu(k,1696)
         lu(k,1722) = lu(k,1722) - lu(k,1470) * lu(k,1720)
         lu(k,1740) = lu(k,1740) - lu(k,1471) * lu(k,1720)
         lu(k,1741) = lu(k,1741) - lu(k,1472) * lu(k,1720)
         lu(k,1744) = lu(k,1744) - lu(k,1473) * lu(k,1720)
         lu(k,1777) = lu(k,1777) - lu(k,1470) * lu(k,1776)
         lu(k,1790) = lu(k,1790) - lu(k,1471) * lu(k,1776)
         lu(k,1791) = lu(k,1791) - lu(k,1472) * lu(k,1776)
         lu(k,1794) = lu(k,1794) - lu(k,1473) * lu(k,1776)
         lu(k,1800) = lu(k,1800) - lu(k,1470) * lu(k,1799)
         lu(k,1806) = lu(k,1806) - lu(k,1471) * lu(k,1799)
         lu(k,1807) = lu(k,1807) - lu(k,1472) * lu(k,1799)
         lu(k,1809) = lu(k,1809) - lu(k,1473) * lu(k,1799)
         lu(k,1821) = lu(k,1821) - lu(k,1470) * lu(k,1819)
         lu(k,1838) = lu(k,1838) - lu(k,1471) * lu(k,1819)
         lu(k,1839) = lu(k,1839) - lu(k,1472) * lu(k,1819)
         lu(k,1842) = lu(k,1842) - lu(k,1473) * lu(k,1819)
         lu(k,1859) = lu(k,1859) - lu(k,1470) * lu(k,1858)
         lu(k,1870) = lu(k,1870) - lu(k,1471) * lu(k,1858)
         lu(k,1871) = lu(k,1871) - lu(k,1472) * lu(k,1858)
         lu(k,1874) = lu(k,1874) - lu(k,1473) * lu(k,1858)
         lu(k,1886) = lu(k,1886) - lu(k,1470) * lu(k,1885)
         lu(k,1906) = lu(k,1906) - lu(k,1471) * lu(k,1885)
         lu(k,1907) = lu(k,1907) - lu(k,1472) * lu(k,1885)
         lu(k,1910) = lu(k,1910) - lu(k,1473) * lu(k,1885)
         lu(k,1923) = lu(k,1923) - lu(k,1470) * lu(k,1921)
         lu(k,1938) = lu(k,1938) - lu(k,1471) * lu(k,1921)
         lu(k,1939) = lu(k,1939) - lu(k,1472) * lu(k,1921)
         lu(k,1942) = lu(k,1942) - lu(k,1473) * lu(k,1921)
         lu(k,1957) = lu(k,1957) - lu(k,1470) * lu(k,1955)
         lu(k,1972) = lu(k,1972) - lu(k,1471) * lu(k,1955)
         lu(k,1973) = lu(k,1973) - lu(k,1472) * lu(k,1955)
         lu(k,1976) = lu(k,1976) - lu(k,1473) * lu(k,1955)
         lu(k,2023) = lu(k,2023) - lu(k,1470) * lu(k,2020)
         lu(k,2042) = lu(k,2042) - lu(k,1471) * lu(k,2020)
         lu(k,2043) = lu(k,2043) - lu(k,1472) * lu(k,2020)
         lu(k,2047) = lu(k,2047) - lu(k,1473) * lu(k,2020)
         lu(k,2655) = lu(k,2655) - lu(k,1470) * lu(k,2653)
         lu(k,2705) = lu(k,2705) - lu(k,1471) * lu(k,2653)
         lu(k,2706) = lu(k,2706) - lu(k,1472) * lu(k,2653)
         lu(k,2710) = lu(k,2710) - lu(k,1473) * lu(k,2653)
         lu(k,2836) = lu(k,2836) - lu(k,1470) * lu(k,2832)
         lu(k,2889) = lu(k,2889) - lu(k,1471) * lu(k,2832)
         lu(k,2891) = lu(k,2891) - lu(k,1472) * lu(k,2832)
         lu(k,2895) = lu(k,2895) - lu(k,1473) * lu(k,2832)
         lu(k,2940) = lu(k,2940) - lu(k,1470) * lu(k,2936)
         lu(k,2990) = lu(k,2990) - lu(k,1471) * lu(k,2936)
         lu(k,2992) = lu(k,2992) - lu(k,1472) * lu(k,2936)
         lu(k,2996) = lu(k,2996) - lu(k,1473) * lu(k,2936)
         lu(k,3031) = lu(k,3031) - lu(k,1470) * lu(k,3028)
         lu(k,3082) = lu(k,3082) - lu(k,1471) * lu(k,3028)
         lu(k,3084) = lu(k,3084) - lu(k,1472) * lu(k,3028)
         lu(k,3088) = lu(k,3088) - lu(k,1473) * lu(k,3028)
         lu(k,3232) = lu(k,3232) - lu(k,1470) * lu(k,3228)
         lu(k,3285) = lu(k,3285) - lu(k,1471) * lu(k,3228)
         lu(k,3287) = lu(k,3287) - lu(k,1472) * lu(k,3228)
         lu(k,3291) = lu(k,3291) - lu(k,1473) * lu(k,3228)
         lu(k,3374) = lu(k,3374) - lu(k,1470) * lu(k,3370)
         lu(k,3426) = lu(k,3426) - lu(k,1471) * lu(k,3370)
         lu(k,3428) = lu(k,3428) - lu(k,1472) * lu(k,3370)
         lu(k,3432) = lu(k,3432) - lu(k,1473) * lu(k,3370)
         lu(k,3694) = lu(k,3694) - lu(k,1470) * lu(k,3689)
         lu(k,3746) = lu(k,3746) - lu(k,1471) * lu(k,3689)
         lu(k,3748) = lu(k,3748) - lu(k,1472) * lu(k,3689)
         lu(k,3752) = lu(k,3752) - lu(k,1473) * lu(k,3689)
         lu(k,3818) = lu(k,3818) - lu(k,1470) * lu(k,3817)
         lu(k,3827) = lu(k,3827) - lu(k,1471) * lu(k,3817)
         lu(k,3829) = lu(k,3829) - lu(k,1472) * lu(k,3817)
         lu(k,3833) = lu(k,3833) - lu(k,1473) * lu(k,3817)
         lu(k,1480) = 1._r8 / lu(k,1480)
         lu(k,1481) = lu(k,1481) * lu(k,1480)
         lu(k,1482) = lu(k,1482) * lu(k,1480)
         lu(k,1483) = lu(k,1483) * lu(k,1480)
         lu(k,1484) = lu(k,1484) * lu(k,1480)
         lu(k,1485) = lu(k,1485) * lu(k,1480)
         lu(k,1486) = lu(k,1486) * lu(k,1480)
         lu(k,1487) = lu(k,1487) * lu(k,1480)
         lu(k,1488) = lu(k,1488) * lu(k,1480)
         lu(k,1489) = lu(k,1489) * lu(k,1480)
         lu(k,1490) = lu(k,1490) * lu(k,1480)
         lu(k,1491) = lu(k,1491) * lu(k,1480)
         lu(k,1492) = lu(k,1492) * lu(k,1480)
         lu(k,1493) = lu(k,1493) * lu(k,1480)
         lu(k,1986) = lu(k,1986) - lu(k,1481) * lu(k,1985)
         lu(k,1987) = lu(k,1987) - lu(k,1482) * lu(k,1985)
         lu(k,1988) = lu(k,1988) - lu(k,1483) * lu(k,1985)
         lu(k,1989) = - lu(k,1484) * lu(k,1985)
         lu(k,1991) = lu(k,1991) - lu(k,1485) * lu(k,1985)
         lu(k,1992) = lu(k,1992) - lu(k,1486) * lu(k,1985)
         lu(k,1994) = lu(k,1994) - lu(k,1487) * lu(k,1985)
         lu(k,1995) = lu(k,1995) - lu(k,1488) * lu(k,1985)
         lu(k,1997) = - lu(k,1489) * lu(k,1985)
         lu(k,2000) = lu(k,2000) - lu(k,1490) * lu(k,1985)
         lu(k,2001) = lu(k,2001) - lu(k,1491) * lu(k,1985)
         lu(k,2003) = lu(k,2003) - lu(k,1492) * lu(k,1985)
         lu(k,2004) = lu(k,2004) - lu(k,1493) * lu(k,1985)
         lu(k,2023) = lu(k,2023) - lu(k,1481) * lu(k,2021)
         lu(k,2024) = lu(k,2024) - lu(k,1482) * lu(k,2021)
         lu(k,2025) = lu(k,2025) - lu(k,1483) * lu(k,2021)
         lu(k,2026) = lu(k,2026) - lu(k,1484) * lu(k,2021)
         lu(k,2028) = lu(k,2028) - lu(k,1485) * lu(k,2021)
         lu(k,2029) = lu(k,2029) - lu(k,1486) * lu(k,2021)
         lu(k,2036) = lu(k,2036) - lu(k,1487) * lu(k,2021)
         lu(k,2037) = lu(k,2037) - lu(k,1488) * lu(k,2021)
         lu(k,2039) = lu(k,2039) - lu(k,1489) * lu(k,2021)
         lu(k,2042) = lu(k,2042) - lu(k,1490) * lu(k,2021)
         lu(k,2043) = lu(k,2043) - lu(k,1491) * lu(k,2021)
         lu(k,2046) = lu(k,2046) - lu(k,1492) * lu(k,2021)
         lu(k,2047) = lu(k,2047) - lu(k,1493) * lu(k,2021)
         lu(k,2836) = lu(k,2836) - lu(k,1481) * lu(k,2833)
         lu(k,2841) = lu(k,2841) - lu(k,1482) * lu(k,2833)
         lu(k,2842) = lu(k,2842) - lu(k,1483) * lu(k,2833)
         lu(k,2843) = lu(k,2843) - lu(k,1484) * lu(k,2833)
         lu(k,2851) = lu(k,2851) - lu(k,1485) * lu(k,2833)
         lu(k,2853) = lu(k,2853) - lu(k,1486) * lu(k,2833)
         lu(k,2882) = lu(k,2882) - lu(k,1487) * lu(k,2833)
         lu(k,2883) = lu(k,2883) - lu(k,1488) * lu(k,2833)
         lu(k,2885) = lu(k,2885) - lu(k,1489) * lu(k,2833)
         lu(k,2889) = lu(k,2889) - lu(k,1490) * lu(k,2833)
         lu(k,2891) = lu(k,2891) - lu(k,1491) * lu(k,2833)
         lu(k,2894) = lu(k,2894) - lu(k,1492) * lu(k,2833)
         lu(k,2895) = lu(k,2895) - lu(k,1493) * lu(k,2833)
         lu(k,2940) = lu(k,2940) - lu(k,1481) * lu(k,2937)
         lu(k,2943) = lu(k,2943) - lu(k,1482) * lu(k,2937)
         lu(k,2944) = lu(k,2944) - lu(k,1483) * lu(k,2937)
         lu(k,2945) = lu(k,2945) - lu(k,1484) * lu(k,2937)
         lu(k,2953) = lu(k,2953) - lu(k,1485) * lu(k,2937)
         lu(k,2955) = lu(k,2955) - lu(k,1486) * lu(k,2937)
         lu(k,2983) = lu(k,2983) - lu(k,1487) * lu(k,2937)
         lu(k,2984) = lu(k,2984) - lu(k,1488) * lu(k,2937)
         lu(k,2986) = lu(k,2986) - lu(k,1489) * lu(k,2937)
         lu(k,2990) = lu(k,2990) - lu(k,1490) * lu(k,2937)
         lu(k,2992) = lu(k,2992) - lu(k,1491) * lu(k,2937)
         lu(k,2995) = lu(k,2995) - lu(k,1492) * lu(k,2937)
         lu(k,2996) = lu(k,2996) - lu(k,1493) * lu(k,2937)
         lu(k,3232) = lu(k,3232) - lu(k,1481) * lu(k,3229)
         lu(k,3237) = lu(k,3237) - lu(k,1482) * lu(k,3229)
         lu(k,3238) = lu(k,3238) - lu(k,1483) * lu(k,3229)
         lu(k,3239) = lu(k,3239) - lu(k,1484) * lu(k,3229)
         lu(k,3247) = lu(k,3247) - lu(k,1485) * lu(k,3229)
         lu(k,3249) = lu(k,3249) - lu(k,1486) * lu(k,3229)
         lu(k,3278) = lu(k,3278) - lu(k,1487) * lu(k,3229)
         lu(k,3279) = lu(k,3279) - lu(k,1488) * lu(k,3229)
         lu(k,3281) = lu(k,3281) - lu(k,1489) * lu(k,3229)
         lu(k,3285) = lu(k,3285) - lu(k,1490) * lu(k,3229)
         lu(k,3287) = lu(k,3287) - lu(k,1491) * lu(k,3229)
         lu(k,3290) = lu(k,3290) - lu(k,1492) * lu(k,3229)
         lu(k,3291) = lu(k,3291) - lu(k,1493) * lu(k,3229)
         lu(k,3374) = lu(k,3374) - lu(k,1481) * lu(k,3371)
         lu(k,3379) = lu(k,3379) - lu(k,1482) * lu(k,3371)
         lu(k,3380) = lu(k,3380) - lu(k,1483) * lu(k,3371)
         lu(k,3381) = lu(k,3381) - lu(k,1484) * lu(k,3371)
         lu(k,3388) = lu(k,3388) - lu(k,1485) * lu(k,3371)
         lu(k,3390) = lu(k,3390) - lu(k,1486) * lu(k,3371)
         lu(k,3419) = lu(k,3419) - lu(k,1487) * lu(k,3371)
         lu(k,3420) = lu(k,3420) - lu(k,1488) * lu(k,3371)
         lu(k,3422) = lu(k,3422) - lu(k,1489) * lu(k,3371)
         lu(k,3426) = lu(k,3426) - lu(k,1490) * lu(k,3371)
         lu(k,3428) = lu(k,3428) - lu(k,1491) * lu(k,3371)
         lu(k,3431) = lu(k,3431) - lu(k,1492) * lu(k,3371)
         lu(k,3432) = lu(k,3432) - lu(k,1493) * lu(k,3371)
         lu(k,3694) = lu(k,3694) - lu(k,1481) * lu(k,3690)
         lu(k,3699) = lu(k,3699) - lu(k,1482) * lu(k,3690)
         lu(k,3700) = lu(k,3700) - lu(k,1483) * lu(k,3690)
         lu(k,3701) = lu(k,3701) - lu(k,1484) * lu(k,3690)
         lu(k,3709) = lu(k,3709) - lu(k,1485) * lu(k,3690)
         lu(k,3711) = lu(k,3711) - lu(k,1486) * lu(k,3690)
         lu(k,3739) = lu(k,3739) - lu(k,1487) * lu(k,3690)
         lu(k,3740) = lu(k,3740) - lu(k,1488) * lu(k,3690)
         lu(k,3742) = lu(k,3742) - lu(k,1489) * lu(k,3690)
         lu(k,3746) = lu(k,3746) - lu(k,1490) * lu(k,3690)
         lu(k,3748) = lu(k,3748) - lu(k,1491) * lu(k,3690)
         lu(k,3751) = lu(k,3751) - lu(k,1492) * lu(k,3690)
         lu(k,3752) = lu(k,3752) - lu(k,1493) * lu(k,3690)
      end do
      end subroutine lu_fac33
      subroutine lu_fac34( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,1497) = 1._r8 / lu(k,1497)
         lu(k,1498) = lu(k,1498) * lu(k,1497)
         lu(k,1499) = lu(k,1499) * lu(k,1497)
         lu(k,1500) = lu(k,1500) * lu(k,1497)
         lu(k,1501) = lu(k,1501) * lu(k,1497)
         lu(k,1502) = lu(k,1502) * lu(k,1497)
         lu(k,1503) = lu(k,1503) * lu(k,1497)
         lu(k,1504) = lu(k,1504) * lu(k,1497)
         lu(k,1505) = lu(k,1505) * lu(k,1497)
         lu(k,1506) = lu(k,1506) * lu(k,1497)
         lu(k,1507) = lu(k,1507) * lu(k,1497)
         lu(k,1508) = lu(k,1508) * lu(k,1497)
         lu(k,1509) = lu(k,1509) * lu(k,1497)
         lu(k,1748) = lu(k,1748) - lu(k,1498) * lu(k,1747)
         lu(k,1749) = lu(k,1749) - lu(k,1499) * lu(k,1747)
         lu(k,1754) = lu(k,1754) - lu(k,1500) * lu(k,1747)
         lu(k,1756) = lu(k,1756) - lu(k,1501) * lu(k,1747)
         lu(k,1757) = lu(k,1757) - lu(k,1502) * lu(k,1747)
         lu(k,1758) = - lu(k,1503) * lu(k,1747)
         lu(k,1759) = lu(k,1759) - lu(k,1504) * lu(k,1747)
         lu(k,1760) = lu(k,1760) - lu(k,1505) * lu(k,1747)
         lu(k,1761) = lu(k,1761) - lu(k,1506) * lu(k,1747)
         lu(k,1762) = lu(k,1762) - lu(k,1507) * lu(k,1747)
         lu(k,1763) = lu(k,1763) - lu(k,1508) * lu(k,1747)
         lu(k,1764) = lu(k,1764) - lu(k,1509) * lu(k,1747)
         lu(k,2655) = lu(k,2655) - lu(k,1498) * lu(k,2654)
         lu(k,2660) = lu(k,2660) - lu(k,1499) * lu(k,2654)
         lu(k,2699) = lu(k,2699) - lu(k,1500) * lu(k,2654)
         lu(k,2702) = lu(k,2702) - lu(k,1501) * lu(k,2654)
         lu(k,2703) = lu(k,2703) - lu(k,1502) * lu(k,2654)
         lu(k,2704) = lu(k,2704) - lu(k,1503) * lu(k,2654)
         lu(k,2705) = lu(k,2705) - lu(k,1504) * lu(k,2654)
         lu(k,2706) = lu(k,2706) - lu(k,1505) * lu(k,2654)
         lu(k,2707) = lu(k,2707) - lu(k,1506) * lu(k,2654)
         lu(k,2709) = lu(k,2709) - lu(k,1507) * lu(k,2654)
         lu(k,2710) = lu(k,2710) - lu(k,1508) * lu(k,2654)
         lu(k,2713) = lu(k,2713) - lu(k,1509) * lu(k,2654)
         lu(k,2836) = lu(k,2836) - lu(k,1498) * lu(k,2834)
         lu(k,2841) = lu(k,2841) - lu(k,1499) * lu(k,2834)
         lu(k,2882) = lu(k,2882) - lu(k,1500) * lu(k,2834)
         lu(k,2885) = lu(k,2885) - lu(k,1501) * lu(k,2834)
         lu(k,2886) = lu(k,2886) - lu(k,1502) * lu(k,2834)
         lu(k,2887) = lu(k,2887) - lu(k,1503) * lu(k,2834)
         lu(k,2889) = lu(k,2889) - lu(k,1504) * lu(k,2834)
         lu(k,2891) = lu(k,2891) - lu(k,1505) * lu(k,2834)
         lu(k,2892) = lu(k,2892) - lu(k,1506) * lu(k,2834)
         lu(k,2894) = lu(k,2894) - lu(k,1507) * lu(k,2834)
         lu(k,2895) = lu(k,2895) - lu(k,1508) * lu(k,2834)
         lu(k,2899) = lu(k,2899) - lu(k,1509) * lu(k,2834)
         lu(k,3031) = lu(k,3031) - lu(k,1498) * lu(k,3029)
         lu(k,3036) = lu(k,3036) - lu(k,1499) * lu(k,3029)
         lu(k,3075) = lu(k,3075) - lu(k,1500) * lu(k,3029)
         lu(k,3078) = lu(k,3078) - lu(k,1501) * lu(k,3029)
         lu(k,3079) = lu(k,3079) - lu(k,1502) * lu(k,3029)
         lu(k,3080) = lu(k,3080) - lu(k,1503) * lu(k,3029)
         lu(k,3082) = lu(k,3082) - lu(k,1504) * lu(k,3029)
         lu(k,3084) = lu(k,3084) - lu(k,1505) * lu(k,3029)
         lu(k,3085) = lu(k,3085) - lu(k,1506) * lu(k,3029)
         lu(k,3087) = lu(k,3087) - lu(k,1507) * lu(k,3029)
         lu(k,3088) = lu(k,3088) - lu(k,1508) * lu(k,3029)
         lu(k,3092) = lu(k,3092) - lu(k,1509) * lu(k,3029)
         lu(k,3232) = lu(k,3232) - lu(k,1498) * lu(k,3230)
         lu(k,3237) = lu(k,3237) - lu(k,1499) * lu(k,3230)
         lu(k,3278) = lu(k,3278) - lu(k,1500) * lu(k,3230)
         lu(k,3281) = lu(k,3281) - lu(k,1501) * lu(k,3230)
         lu(k,3282) = lu(k,3282) - lu(k,1502) * lu(k,3230)
         lu(k,3283) = lu(k,3283) - lu(k,1503) * lu(k,3230)
         lu(k,3285) = lu(k,3285) - lu(k,1504) * lu(k,3230)
         lu(k,3287) = lu(k,3287) - lu(k,1505) * lu(k,3230)
         lu(k,3288) = lu(k,3288) - lu(k,1506) * lu(k,3230)
         lu(k,3290) = lu(k,3290) - lu(k,1507) * lu(k,3230)
         lu(k,3291) = lu(k,3291) - lu(k,1508) * lu(k,3230)
         lu(k,3295) = lu(k,3295) - lu(k,1509) * lu(k,3230)
         lu(k,3374) = lu(k,3374) - lu(k,1498) * lu(k,3372)
         lu(k,3379) = lu(k,3379) - lu(k,1499) * lu(k,3372)
         lu(k,3419) = lu(k,3419) - lu(k,1500) * lu(k,3372)
         lu(k,3422) = lu(k,3422) - lu(k,1501) * lu(k,3372)
         lu(k,3423) = - lu(k,1502) * lu(k,3372)
         lu(k,3424) = lu(k,3424) - lu(k,1503) * lu(k,3372)
         lu(k,3426) = lu(k,3426) - lu(k,1504) * lu(k,3372)
         lu(k,3428) = lu(k,3428) - lu(k,1505) * lu(k,3372)
         lu(k,3429) = lu(k,3429) - lu(k,1506) * lu(k,3372)
         lu(k,3431) = lu(k,3431) - lu(k,1507) * lu(k,3372)
         lu(k,3432) = lu(k,3432) - lu(k,1508) * lu(k,3372)
         lu(k,3436) = lu(k,3436) - lu(k,1509) * lu(k,3372)
         lu(k,3490) = lu(k,3490) - lu(k,1498) * lu(k,3488)
         lu(k,3491) = lu(k,3491) - lu(k,1499) * lu(k,3488)
         lu(k,3499) = lu(k,3499) - lu(k,1500) * lu(k,3488)
         lu(k,3502) = lu(k,3502) - lu(k,1501) * lu(k,3488)
         lu(k,3503) = lu(k,3503) - lu(k,1502) * lu(k,3488)
         lu(k,3504) = lu(k,3504) - lu(k,1503) * lu(k,3488)
         lu(k,3506) = lu(k,3506) - lu(k,1504) * lu(k,3488)
         lu(k,3508) = lu(k,3508) - lu(k,1505) * lu(k,3488)
         lu(k,3509) = lu(k,3509) - lu(k,1506) * lu(k,3488)
         lu(k,3511) = lu(k,3511) - lu(k,1507) * lu(k,3488)
         lu(k,3512) = lu(k,3512) - lu(k,1508) * lu(k,3488)
         lu(k,3516) = lu(k,3516) - lu(k,1509) * lu(k,3488)
         lu(k,3694) = lu(k,3694) - lu(k,1498) * lu(k,3691)
         lu(k,3699) = lu(k,3699) - lu(k,1499) * lu(k,3691)
         lu(k,3739) = lu(k,3739) - lu(k,1500) * lu(k,3691)
         lu(k,3742) = lu(k,3742) - lu(k,1501) * lu(k,3691)
         lu(k,3743) = lu(k,3743) - lu(k,1502) * lu(k,3691)
         lu(k,3744) = lu(k,3744) - lu(k,1503) * lu(k,3691)
         lu(k,3746) = lu(k,3746) - lu(k,1504) * lu(k,3691)
         lu(k,3748) = lu(k,3748) - lu(k,1505) * lu(k,3691)
         lu(k,3749) = lu(k,3749) - lu(k,1506) * lu(k,3691)
         lu(k,3751) = lu(k,3751) - lu(k,1507) * lu(k,3691)
         lu(k,3752) = lu(k,3752) - lu(k,1508) * lu(k,3691)
         lu(k,3756) = lu(k,3756) - lu(k,1509) * lu(k,3691)
         lu(k,1513) = 1._r8 / lu(k,1513)
         lu(k,1514) = lu(k,1514) * lu(k,1513)
         lu(k,1515) = lu(k,1515) * lu(k,1513)
         lu(k,1516) = lu(k,1516) * lu(k,1513)
         lu(k,1517) = lu(k,1517) * lu(k,1513)
         lu(k,1518) = lu(k,1518) * lu(k,1513)
         lu(k,1519) = lu(k,1519) * lu(k,1513)
         lu(k,1520) = lu(k,1520) * lu(k,1513)
         lu(k,1521) = lu(k,1521) * lu(k,1513)
         lu(k,1522) = lu(k,1522) * lu(k,1513)
         lu(k,1523) = lu(k,1523) * lu(k,1513)
         lu(k,1524) = lu(k,1524) * lu(k,1513)
         lu(k,1525) = lu(k,1525) * lu(k,1513)
         lu(k,2948) = lu(k,2948) - lu(k,1514) * lu(k,2938)
         lu(k,2985) = lu(k,2985) - lu(k,1515) * lu(k,2938)
         lu(k,2986) = lu(k,2986) - lu(k,1516) * lu(k,2938)
         lu(k,2987) = lu(k,2987) - lu(k,1517) * lu(k,2938)
         lu(k,2990) = lu(k,2990) - lu(k,1518) * lu(k,2938)
         lu(k,2991) = lu(k,2991) - lu(k,1519) * lu(k,2938)
         lu(k,2994) = lu(k,2994) - lu(k,1520) * lu(k,2938)
         lu(k,2995) = lu(k,2995) - lu(k,1521) * lu(k,2938)
         lu(k,2996) = lu(k,2996) - lu(k,1522) * lu(k,2938)
         lu(k,2998) = lu(k,2998) - lu(k,1523) * lu(k,2938)
         lu(k,2999) = lu(k,2999) - lu(k,1524) * lu(k,2938)
         lu(k,3000) = lu(k,3000) - lu(k,1525) * lu(k,2938)
         lu(k,3039) = - lu(k,1514) * lu(k,3030)
         lu(k,3077) = - lu(k,1515) * lu(k,3030)
         lu(k,3078) = lu(k,3078) - lu(k,1516) * lu(k,3030)
         lu(k,3079) = lu(k,3079) - lu(k,1517) * lu(k,3030)
         lu(k,3082) = lu(k,3082) - lu(k,1518) * lu(k,3030)
         lu(k,3083) = - lu(k,1519) * lu(k,3030)
         lu(k,3086) = lu(k,3086) - lu(k,1520) * lu(k,3030)
         lu(k,3087) = lu(k,3087) - lu(k,1521) * lu(k,3030)
         lu(k,3088) = lu(k,3088) - lu(k,1522) * lu(k,3030)
         lu(k,3090) = - lu(k,1523) * lu(k,3030)
         lu(k,3091) = lu(k,3091) - lu(k,1524) * lu(k,3030)
         lu(k,3092) = lu(k,3092) - lu(k,1525) * lu(k,3030)
         lu(k,3304) = lu(k,3304) - lu(k,1514) * lu(k,3303)
         lu(k,3306) = - lu(k,1515) * lu(k,3303)
         lu(k,3307) = lu(k,3307) - lu(k,1516) * lu(k,3303)
         lu(k,3308) = - lu(k,1517) * lu(k,3303)
         lu(k,3311) = lu(k,3311) - lu(k,1518) * lu(k,3303)
         lu(k,3312) = lu(k,3312) - lu(k,1519) * lu(k,3303)
         lu(k,3315) = lu(k,3315) - lu(k,1520) * lu(k,3303)
         lu(k,3316) = lu(k,3316) - lu(k,1521) * lu(k,3303)
         lu(k,3317) = lu(k,3317) - lu(k,1522) * lu(k,3303)
         lu(k,3319) = lu(k,3319) - lu(k,1523) * lu(k,3303)
         lu(k,3320) = lu(k,3320) - lu(k,1524) * lu(k,3303)
         lu(k,3321) = lu(k,3321) - lu(k,1525) * lu(k,3303)
         lu(k,3449) = lu(k,3449) - lu(k,1514) * lu(k,3447)
         lu(k,3451) = lu(k,3451) - lu(k,1515) * lu(k,3447)
         lu(k,3452) = lu(k,3452) - lu(k,1516) * lu(k,3447)
         lu(k,3453) = lu(k,3453) - lu(k,1517) * lu(k,3447)
         lu(k,3456) = lu(k,3456) - lu(k,1518) * lu(k,3447)
         lu(k,3457) = lu(k,3457) - lu(k,1519) * lu(k,3447)
         lu(k,3460) = lu(k,3460) - lu(k,1520) * lu(k,3447)
         lu(k,3461) = lu(k,3461) - lu(k,1521) * lu(k,3447)
         lu(k,3462) = lu(k,3462) - lu(k,1522) * lu(k,3447)
         lu(k,3464) = lu(k,3464) - lu(k,1523) * lu(k,3447)
         lu(k,3465) = lu(k,3465) - lu(k,1524) * lu(k,3447)
         lu(k,3466) = lu(k,3466) - lu(k,1525) * lu(k,3447)
         lu(k,3492) = lu(k,3492) - lu(k,1514) * lu(k,3489)
         lu(k,3501) = lu(k,3501) - lu(k,1515) * lu(k,3489)
         lu(k,3502) = lu(k,3502) - lu(k,1516) * lu(k,3489)
         lu(k,3503) = lu(k,3503) - lu(k,1517) * lu(k,3489)
         lu(k,3506) = lu(k,3506) - lu(k,1518) * lu(k,3489)
         lu(k,3507) = lu(k,3507) - lu(k,1519) * lu(k,3489)
         lu(k,3510) = lu(k,3510) - lu(k,1520) * lu(k,3489)
         lu(k,3511) = lu(k,3511) - lu(k,1521) * lu(k,3489)
         lu(k,3512) = lu(k,3512) - lu(k,1522) * lu(k,3489)
         lu(k,3514) = lu(k,3514) - lu(k,1523) * lu(k,3489)
         lu(k,3515) = lu(k,3515) - lu(k,1524) * lu(k,3489)
         lu(k,3516) = lu(k,3516) - lu(k,1525) * lu(k,3489)
         lu(k,3704) = lu(k,3704) - lu(k,1514) * lu(k,3692)
         lu(k,3741) = lu(k,3741) - lu(k,1515) * lu(k,3692)
         lu(k,3742) = lu(k,3742) - lu(k,1516) * lu(k,3692)
         lu(k,3743) = lu(k,3743) - lu(k,1517) * lu(k,3692)
         lu(k,3746) = lu(k,3746) - lu(k,1518) * lu(k,3692)
         lu(k,3747) = lu(k,3747) - lu(k,1519) * lu(k,3692)
         lu(k,3750) = lu(k,3750) - lu(k,1520) * lu(k,3692)
         lu(k,3751) = lu(k,3751) - lu(k,1521) * lu(k,3692)
         lu(k,3752) = lu(k,3752) - lu(k,1522) * lu(k,3692)
         lu(k,3754) = lu(k,3754) - lu(k,1523) * lu(k,3692)
         lu(k,3755) = lu(k,3755) - lu(k,1524) * lu(k,3692)
         lu(k,3756) = lu(k,3756) - lu(k,1525) * lu(k,3692)
         lu(k,3785) = lu(k,3785) - lu(k,1514) * lu(k,3784)
         lu(k,3787) = - lu(k,1515) * lu(k,3784)
         lu(k,3788) = lu(k,3788) - lu(k,1516) * lu(k,3784)
         lu(k,3789) = - lu(k,1517) * lu(k,3784)
         lu(k,3792) = lu(k,3792) - lu(k,1518) * lu(k,3784)
         lu(k,3793) = lu(k,3793) - lu(k,1519) * lu(k,3784)
         lu(k,3796) = lu(k,3796) - lu(k,1520) * lu(k,3784)
         lu(k,3797) = lu(k,3797) - lu(k,1521) * lu(k,3784)
         lu(k,3798) = lu(k,3798) - lu(k,1522) * lu(k,3784)
         lu(k,3800) = lu(k,3800) - lu(k,1523) * lu(k,3784)
         lu(k,3801) = lu(k,3801) - lu(k,1524) * lu(k,3784)
         lu(k,3802) = lu(k,3802) - lu(k,1525) * lu(k,3784)
         lu(k,3845) = - lu(k,1514) * lu(k,3844)
         lu(k,3847) = lu(k,3847) - lu(k,1515) * lu(k,3844)
         lu(k,3848) = - lu(k,1516) * lu(k,3844)
         lu(k,3849) = - lu(k,1517) * lu(k,3844)
         lu(k,3852) = lu(k,3852) - lu(k,1518) * lu(k,3844)
         lu(k,3853) = - lu(k,1519) * lu(k,3844)
         lu(k,3856) = lu(k,3856) - lu(k,1520) * lu(k,3844)
         lu(k,3857) = - lu(k,1521) * lu(k,3844)
         lu(k,3858) = lu(k,3858) - lu(k,1522) * lu(k,3844)
         lu(k,3860) = - lu(k,1523) * lu(k,3844)
         lu(k,3861) = lu(k,3861) - lu(k,1524) * lu(k,3844)
         lu(k,3862) = lu(k,3862) - lu(k,1525) * lu(k,3844)
         lu(k,1529) = 1._r8 / lu(k,1529)
         lu(k,1530) = lu(k,1530) * lu(k,1529)
         lu(k,1531) = lu(k,1531) * lu(k,1529)
         lu(k,1532) = lu(k,1532) * lu(k,1529)
         lu(k,1533) = lu(k,1533) * lu(k,1529)
         lu(k,1534) = lu(k,1534) * lu(k,1529)
         lu(k,1535) = lu(k,1535) * lu(k,1529)
         lu(k,1536) = lu(k,1536) * lu(k,1529)
         lu(k,1537) = lu(k,1537) * lu(k,1529)
         lu(k,1538) = lu(k,1538) * lu(k,1529)
         lu(k,1539) = lu(k,1539) * lu(k,1529)
         lu(k,1722) = lu(k,1722) - lu(k,1530) * lu(k,1721)
         lu(k,1724) = lu(k,1724) - lu(k,1531) * lu(k,1721)
         lu(k,1725) = - lu(k,1532) * lu(k,1721)
         lu(k,1731) = lu(k,1731) - lu(k,1533) * lu(k,1721)
         lu(k,1732) = lu(k,1732) - lu(k,1534) * lu(k,1721)
         lu(k,1737) = - lu(k,1535) * lu(k,1721)
         lu(k,1740) = lu(k,1740) - lu(k,1536) * lu(k,1721)
         lu(k,1741) = lu(k,1741) - lu(k,1537) * lu(k,1721)
         lu(k,1743) = lu(k,1743) - lu(k,1538) * lu(k,1721)
         lu(k,1744) = lu(k,1744) - lu(k,1539) * lu(k,1721)
         lu(k,1821) = lu(k,1821) - lu(k,1530) * lu(k,1820)
         lu(k,1823) = lu(k,1823) - lu(k,1531) * lu(k,1820)
         lu(k,1824) = lu(k,1824) - lu(k,1532) * lu(k,1820)
         lu(k,1828) = - lu(k,1533) * lu(k,1820)
         lu(k,1830) = lu(k,1830) - lu(k,1534) * lu(k,1820)
         lu(k,1835) = lu(k,1835) - lu(k,1535) * lu(k,1820)
         lu(k,1838) = lu(k,1838) - lu(k,1536) * lu(k,1820)
         lu(k,1839) = lu(k,1839) - lu(k,1537) * lu(k,1820)
         lu(k,1841) = lu(k,1841) - lu(k,1538) * lu(k,1820)
         lu(k,1842) = lu(k,1842) - lu(k,1539) * lu(k,1820)
         lu(k,1923) = lu(k,1923) - lu(k,1530) * lu(k,1922)
         lu(k,1924) = lu(k,1924) - lu(k,1531) * lu(k,1922)
         lu(k,1925) = lu(k,1925) - lu(k,1532) * lu(k,1922)
         lu(k,1928) = - lu(k,1533) * lu(k,1922)
         lu(k,1929) = lu(k,1929) - lu(k,1534) * lu(k,1922)
         lu(k,1933) = lu(k,1933) - lu(k,1535) * lu(k,1922)
         lu(k,1938) = lu(k,1938) - lu(k,1536) * lu(k,1922)
         lu(k,1939) = lu(k,1939) - lu(k,1537) * lu(k,1922)
         lu(k,1941) = lu(k,1941) - lu(k,1538) * lu(k,1922)
         lu(k,1942) = lu(k,1942) - lu(k,1539) * lu(k,1922)
         lu(k,1957) = lu(k,1957) - lu(k,1530) * lu(k,1956)
         lu(k,1958) = lu(k,1958) - lu(k,1531) * lu(k,1956)
         lu(k,1959) = - lu(k,1532) * lu(k,1956)
         lu(k,1962) = lu(k,1962) - lu(k,1533) * lu(k,1956)
         lu(k,1963) = lu(k,1963) - lu(k,1534) * lu(k,1956)
         lu(k,1967) = lu(k,1967) - lu(k,1535) * lu(k,1956)
         lu(k,1972) = lu(k,1972) - lu(k,1536) * lu(k,1956)
         lu(k,1973) = lu(k,1973) - lu(k,1537) * lu(k,1956)
         lu(k,1975) = lu(k,1975) - lu(k,1538) * lu(k,1956)
         lu(k,1976) = lu(k,1976) - lu(k,1539) * lu(k,1956)
         lu(k,2023) = lu(k,2023) - lu(k,1530) * lu(k,2022)
         lu(k,2024) = lu(k,2024) - lu(k,1531) * lu(k,2022)
         lu(k,2025) = lu(k,2025) - lu(k,1532) * lu(k,2022)
         lu(k,2028) = lu(k,2028) - lu(k,1533) * lu(k,2022)
         lu(k,2029) = lu(k,2029) - lu(k,1534) * lu(k,2022)
         lu(k,2037) = lu(k,2037) - lu(k,1535) * lu(k,2022)
         lu(k,2042) = lu(k,2042) - lu(k,1536) * lu(k,2022)
         lu(k,2043) = lu(k,2043) - lu(k,1537) * lu(k,2022)
         lu(k,2046) = lu(k,2046) - lu(k,1538) * lu(k,2022)
         lu(k,2047) = lu(k,2047) - lu(k,1539) * lu(k,2022)
         lu(k,2836) = lu(k,2836) - lu(k,1530) * lu(k,2835)
         lu(k,2841) = lu(k,2841) - lu(k,1531) * lu(k,2835)
         lu(k,2842) = lu(k,2842) - lu(k,1532) * lu(k,2835)
         lu(k,2851) = lu(k,2851) - lu(k,1533) * lu(k,2835)
         lu(k,2853) = lu(k,2853) - lu(k,1534) * lu(k,2835)
         lu(k,2883) = lu(k,2883) - lu(k,1535) * lu(k,2835)
         lu(k,2889) = lu(k,2889) - lu(k,1536) * lu(k,2835)
         lu(k,2891) = lu(k,2891) - lu(k,1537) * lu(k,2835)
         lu(k,2894) = lu(k,2894) - lu(k,1538) * lu(k,2835)
         lu(k,2895) = lu(k,2895) - lu(k,1539) * lu(k,2835)
         lu(k,2940) = lu(k,2940) - lu(k,1530) * lu(k,2939)
         lu(k,2943) = lu(k,2943) - lu(k,1531) * lu(k,2939)
         lu(k,2944) = lu(k,2944) - lu(k,1532) * lu(k,2939)
         lu(k,2953) = lu(k,2953) - lu(k,1533) * lu(k,2939)
         lu(k,2955) = lu(k,2955) - lu(k,1534) * lu(k,2939)
         lu(k,2984) = lu(k,2984) - lu(k,1535) * lu(k,2939)
         lu(k,2990) = lu(k,2990) - lu(k,1536) * lu(k,2939)
         lu(k,2992) = lu(k,2992) - lu(k,1537) * lu(k,2939)
         lu(k,2995) = lu(k,2995) - lu(k,1538) * lu(k,2939)
         lu(k,2996) = lu(k,2996) - lu(k,1539) * lu(k,2939)
         lu(k,3232) = lu(k,3232) - lu(k,1530) * lu(k,3231)
         lu(k,3237) = lu(k,3237) - lu(k,1531) * lu(k,3231)
         lu(k,3238) = lu(k,3238) - lu(k,1532) * lu(k,3231)
         lu(k,3247) = lu(k,3247) - lu(k,1533) * lu(k,3231)
         lu(k,3249) = lu(k,3249) - lu(k,1534) * lu(k,3231)
         lu(k,3279) = lu(k,3279) - lu(k,1535) * lu(k,3231)
         lu(k,3285) = lu(k,3285) - lu(k,1536) * lu(k,3231)
         lu(k,3287) = lu(k,3287) - lu(k,1537) * lu(k,3231)
         lu(k,3290) = lu(k,3290) - lu(k,1538) * lu(k,3231)
         lu(k,3291) = lu(k,3291) - lu(k,1539) * lu(k,3231)
         lu(k,3374) = lu(k,3374) - lu(k,1530) * lu(k,3373)
         lu(k,3379) = lu(k,3379) - lu(k,1531) * lu(k,3373)
         lu(k,3380) = lu(k,3380) - lu(k,1532) * lu(k,3373)
         lu(k,3388) = lu(k,3388) - lu(k,1533) * lu(k,3373)
         lu(k,3390) = lu(k,3390) - lu(k,1534) * lu(k,3373)
         lu(k,3420) = lu(k,3420) - lu(k,1535) * lu(k,3373)
         lu(k,3426) = lu(k,3426) - lu(k,1536) * lu(k,3373)
         lu(k,3428) = lu(k,3428) - lu(k,1537) * lu(k,3373)
         lu(k,3431) = lu(k,3431) - lu(k,1538) * lu(k,3373)
         lu(k,3432) = lu(k,3432) - lu(k,1539) * lu(k,3373)
         lu(k,3694) = lu(k,3694) - lu(k,1530) * lu(k,3693)
         lu(k,3699) = lu(k,3699) - lu(k,1531) * lu(k,3693)
         lu(k,3700) = lu(k,3700) - lu(k,1532) * lu(k,3693)
         lu(k,3709) = lu(k,3709) - lu(k,1533) * lu(k,3693)
         lu(k,3711) = lu(k,3711) - lu(k,1534) * lu(k,3693)
         lu(k,3740) = lu(k,3740) - lu(k,1535) * lu(k,3693)
         lu(k,3746) = lu(k,3746) - lu(k,1536) * lu(k,3693)
         lu(k,3748) = lu(k,3748) - lu(k,1537) * lu(k,3693)
         lu(k,3751) = lu(k,3751) - lu(k,1538) * lu(k,3693)
         lu(k,3752) = lu(k,3752) - lu(k,1539) * lu(k,3693)
      end do
      end subroutine lu_fac34
      subroutine lu_fac35( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,1540) = 1._r8 / lu(k,1540)
         lu(k,1541) = lu(k,1541) * lu(k,1540)
         lu(k,1542) = lu(k,1542) * lu(k,1540)
         lu(k,1543) = lu(k,1543) * lu(k,1540)
         lu(k,1558) = - lu(k,1541) * lu(k,1549)
         lu(k,1560) = lu(k,1560) - lu(k,1542) * lu(k,1549)
         lu(k,1564) = lu(k,1564) - lu(k,1543) * lu(k,1549)
         lu(k,1579) = - lu(k,1541) * lu(k,1570)
         lu(k,1581) = lu(k,1581) - lu(k,1542) * lu(k,1570)
         lu(k,1585) = lu(k,1585) - lu(k,1543) * lu(k,1570)
         lu(k,1623) = - lu(k,1541) * lu(k,1618)
         lu(k,1624) = lu(k,1624) - lu(k,1542) * lu(k,1618)
         lu(k,1627) = lu(k,1627) - lu(k,1543) * lu(k,1618)
         lu(k,1639) = - lu(k,1541) * lu(k,1632)
         lu(k,1640) = lu(k,1640) - lu(k,1542) * lu(k,1632)
         lu(k,1643) = lu(k,1643) - lu(k,1543) * lu(k,1632)
         lu(k,1649) = - lu(k,1541) * lu(k,1644)
         lu(k,1651) = lu(k,1651) - lu(k,1542) * lu(k,1644)
         lu(k,1652) = lu(k,1652) - lu(k,1543) * lu(k,1644)
         lu(k,1676) = - lu(k,1541) * lu(k,1664)
         lu(k,1678) = lu(k,1678) - lu(k,1542) * lu(k,1664)
         lu(k,1682) = lu(k,1682) - lu(k,1543) * lu(k,1664)
         lu(k,1686) = lu(k,1686) - lu(k,1541) * lu(k,1684)
         lu(k,1689) = lu(k,1689) - lu(k,1542) * lu(k,1684)
         lu(k,1692) = lu(k,1692) - lu(k,1543) * lu(k,1684)
         lu(k,1704) = - lu(k,1541) * lu(k,1697)
         lu(k,1706) = lu(k,1706) - lu(k,1542) * lu(k,1697)
         lu(k,1709) = lu(k,1709) - lu(k,1543) * lu(k,1697)
         lu(k,1738) = - lu(k,1541) * lu(k,1722)
         lu(k,1740) = lu(k,1740) - lu(k,1542) * lu(k,1722)
         lu(k,1744) = lu(k,1744) - lu(k,1543) * lu(k,1722)
         lu(k,1755) = - lu(k,1541) * lu(k,1748)
         lu(k,1759) = lu(k,1759) - lu(k,1542) * lu(k,1748)
         lu(k,1763) = lu(k,1763) - lu(k,1543) * lu(k,1748)
         lu(k,1788) = - lu(k,1541) * lu(k,1777)
         lu(k,1790) = lu(k,1790) - lu(k,1542) * lu(k,1777)
         lu(k,1794) = lu(k,1794) - lu(k,1543) * lu(k,1777)
         lu(k,1805) = - lu(k,1541) * lu(k,1800)
         lu(k,1806) = lu(k,1806) - lu(k,1542) * lu(k,1800)
         lu(k,1809) = lu(k,1809) - lu(k,1543) * lu(k,1800)
         lu(k,1836) = - lu(k,1541) * lu(k,1821)
         lu(k,1838) = lu(k,1838) - lu(k,1542) * lu(k,1821)
         lu(k,1842) = lu(k,1842) - lu(k,1543) * lu(k,1821)
         lu(k,1848) = - lu(k,1541) * lu(k,1844)
         lu(k,1850) = lu(k,1850) - lu(k,1542) * lu(k,1844)
         lu(k,1851) = lu(k,1851) - lu(k,1543) * lu(k,1844)
         lu(k,1866) = - lu(k,1541) * lu(k,1859)
         lu(k,1870) = lu(k,1870) - lu(k,1542) * lu(k,1859)
         lu(k,1874) = lu(k,1874) - lu(k,1543) * lu(k,1859)
         lu(k,1902) = - lu(k,1541) * lu(k,1886)
         lu(k,1906) = lu(k,1906) - lu(k,1542) * lu(k,1886)
         lu(k,1910) = lu(k,1910) - lu(k,1543) * lu(k,1886)
         lu(k,1934) = - lu(k,1541) * lu(k,1923)
         lu(k,1938) = lu(k,1938) - lu(k,1542) * lu(k,1923)
         lu(k,1942) = lu(k,1942) - lu(k,1543) * lu(k,1923)
         lu(k,1968) = - lu(k,1541) * lu(k,1957)
         lu(k,1972) = lu(k,1972) - lu(k,1542) * lu(k,1957)
         lu(k,1976) = lu(k,1976) - lu(k,1543) * lu(k,1957)
         lu(k,1996) = - lu(k,1541) * lu(k,1986)
         lu(k,2000) = lu(k,2000) - lu(k,1542) * lu(k,1986)
         lu(k,2004) = lu(k,2004) - lu(k,1543) * lu(k,1986)
         lu(k,2038) = - lu(k,1541) * lu(k,2023)
         lu(k,2042) = lu(k,2042) - lu(k,1542) * lu(k,2023)
         lu(k,2047) = lu(k,2047) - lu(k,1543) * lu(k,2023)
         lu(k,2198) = - lu(k,1541) * lu(k,2192)
         lu(k,2200) = lu(k,2200) - lu(k,1542) * lu(k,2192)
         lu(k,2201) = lu(k,2201) - lu(k,1543) * lu(k,2192)
         lu(k,2453) = - lu(k,1541) * lu(k,2443)
         lu(k,2456) = lu(k,2456) - lu(k,1542) * lu(k,2443)
         lu(k,2460) = lu(k,2460) - lu(k,1543) * lu(k,2443)
         lu(k,2474) = - lu(k,1541) * lu(k,2463)
         lu(k,2477) = lu(k,2477) - lu(k,1542) * lu(k,2463)
         lu(k,2481) = lu(k,2481) - lu(k,1543) * lu(k,2463)
         lu(k,2537) = - lu(k,1541) * lu(k,2509)
         lu(k,2541) = lu(k,2541) - lu(k,1542) * lu(k,2509)
         lu(k,2546) = lu(k,2546) - lu(k,1543) * lu(k,2509)
         lu(k,2583) = - lu(k,1541) * lu(k,2555)
         lu(k,2587) = lu(k,2587) - lu(k,1542) * lu(k,2555)
         lu(k,2592) = lu(k,2592) - lu(k,1543) * lu(k,2555)
         lu(k,2630) = - lu(k,1541) * lu(k,2602)
         lu(k,2634) = lu(k,2634) - lu(k,1542) * lu(k,2602)
         lu(k,2639) = lu(k,2639) - lu(k,1543) * lu(k,2602)
         lu(k,2701) = - lu(k,1541) * lu(k,2655)
         lu(k,2705) = lu(k,2705) - lu(k,1542) * lu(k,2655)
         lu(k,2710) = lu(k,2710) - lu(k,1543) * lu(k,2655)
         lu(k,2884) = lu(k,2884) - lu(k,1541) * lu(k,2836)
         lu(k,2889) = lu(k,2889) - lu(k,1542) * lu(k,2836)
         lu(k,2895) = lu(k,2895) - lu(k,1543) * lu(k,2836)
         lu(k,2985) = lu(k,2985) - lu(k,1541) * lu(k,2940)
         lu(k,2990) = lu(k,2990) - lu(k,1542) * lu(k,2940)
         lu(k,2996) = lu(k,2996) - lu(k,1543) * lu(k,2940)
         lu(k,3077) = lu(k,3077) - lu(k,1541) * lu(k,3031)
         lu(k,3082) = lu(k,3082) - lu(k,1542) * lu(k,3031)
         lu(k,3088) = lu(k,3088) - lu(k,1543) * lu(k,3031)
         lu(k,3280) = lu(k,3280) - lu(k,1541) * lu(k,3232)
         lu(k,3285) = lu(k,3285) - lu(k,1542) * lu(k,3232)
         lu(k,3291) = lu(k,3291) - lu(k,1543) * lu(k,3232)
         lu(k,3330) = lu(k,3330) - lu(k,1541) * lu(k,3327)
         lu(k,3335) = lu(k,3335) - lu(k,1542) * lu(k,3327)
         lu(k,3341) = lu(k,3341) - lu(k,1543) * lu(k,3327)
         lu(k,3421) = lu(k,3421) - lu(k,1541) * lu(k,3374)
         lu(k,3426) = lu(k,3426) - lu(k,1542) * lu(k,3374)
         lu(k,3432) = lu(k,3432) - lu(k,1543) * lu(k,3374)
         lu(k,3451) = lu(k,3451) - lu(k,1541) * lu(k,3448)
         lu(k,3456) = lu(k,3456) - lu(k,1542) * lu(k,3448)
         lu(k,3462) = lu(k,3462) - lu(k,1543) * lu(k,3448)
         lu(k,3501) = lu(k,3501) - lu(k,1541) * lu(k,3490)
         lu(k,3506) = lu(k,3506) - lu(k,1542) * lu(k,3490)
         lu(k,3512) = lu(k,3512) - lu(k,1543) * lu(k,3490)
         lu(k,3741) = lu(k,3741) - lu(k,1541) * lu(k,3694)
         lu(k,3746) = lu(k,3746) - lu(k,1542) * lu(k,3694)
         lu(k,3752) = lu(k,3752) - lu(k,1543) * lu(k,3694)
         lu(k,3822) = lu(k,3822) - lu(k,1541) * lu(k,3818)
         lu(k,3827) = lu(k,3827) - lu(k,1542) * lu(k,3818)
         lu(k,3833) = lu(k,3833) - lu(k,1543) * lu(k,3818)
         lu(k,1550) = 1._r8 / lu(k,1550)
         lu(k,1551) = lu(k,1551) * lu(k,1550)
         lu(k,1552) = lu(k,1552) * lu(k,1550)
         lu(k,1553) = lu(k,1553) * lu(k,1550)
         lu(k,1554) = lu(k,1554) * lu(k,1550)
         lu(k,1555) = lu(k,1555) * lu(k,1550)
         lu(k,1556) = lu(k,1556) * lu(k,1550)
         lu(k,1557) = lu(k,1557) * lu(k,1550)
         lu(k,1558) = lu(k,1558) * lu(k,1550)
         lu(k,1559) = lu(k,1559) * lu(k,1550)
         lu(k,1560) = lu(k,1560) * lu(k,1550)
         lu(k,1561) = lu(k,1561) * lu(k,1550)
         lu(k,1562) = lu(k,1562) * lu(k,1550)
         lu(k,1563) = lu(k,1563) * lu(k,1550)
         lu(k,1564) = lu(k,1564) * lu(k,1550)
         lu(k,1823) = lu(k,1823) - lu(k,1551) * lu(k,1822)
         lu(k,1826) = - lu(k,1552) * lu(k,1822)
         lu(k,1829) = lu(k,1829) - lu(k,1553) * lu(k,1822)
         lu(k,1830) = lu(k,1830) - lu(k,1554) * lu(k,1822)
         lu(k,1832) = lu(k,1832) - lu(k,1555) * lu(k,1822)
         lu(k,1833) = - lu(k,1556) * lu(k,1822)
         lu(k,1834) = lu(k,1834) - lu(k,1557) * lu(k,1822)
         lu(k,1836) = lu(k,1836) - lu(k,1558) * lu(k,1822)
         lu(k,1837) = lu(k,1837) - lu(k,1559) * lu(k,1822)
         lu(k,1838) = lu(k,1838) - lu(k,1560) * lu(k,1822)
         lu(k,1839) = lu(k,1839) - lu(k,1561) * lu(k,1822)
         lu(k,1840) = lu(k,1840) - lu(k,1562) * lu(k,1822)
         lu(k,1841) = lu(k,1841) - lu(k,1563) * lu(k,1822)
         lu(k,1842) = lu(k,1842) - lu(k,1564) * lu(k,1822)
         lu(k,2660) = lu(k,2660) - lu(k,1551) * lu(k,2656)
         lu(k,2664) = lu(k,2664) - lu(k,1552) * lu(k,2656)
         lu(k,2669) = lu(k,2669) - lu(k,1553) * lu(k,2656)
         lu(k,2670) = lu(k,2670) - lu(k,1554) * lu(k,2656)
         lu(k,2672) = - lu(k,1555) * lu(k,2656)
         lu(k,2674) = - lu(k,1556) * lu(k,2656)
         lu(k,2699) = lu(k,2699) - lu(k,1557) * lu(k,2656)
         lu(k,2701) = lu(k,2701) - lu(k,1558) * lu(k,2656)
         lu(k,2702) = lu(k,2702) - lu(k,1559) * lu(k,2656)
         lu(k,2705) = lu(k,2705) - lu(k,1560) * lu(k,2656)
         lu(k,2706) = lu(k,2706) - lu(k,1561) * lu(k,2656)
         lu(k,2707) = lu(k,2707) - lu(k,1562) * lu(k,2656)
         lu(k,2709) = lu(k,2709) - lu(k,1563) * lu(k,2656)
         lu(k,2710) = lu(k,2710) - lu(k,1564) * lu(k,2656)
         lu(k,2841) = lu(k,2841) - lu(k,1551) * lu(k,2837)
         lu(k,2847) = lu(k,2847) - lu(k,1552) * lu(k,2837)
         lu(k,2852) = lu(k,2852) - lu(k,1553) * lu(k,2837)
         lu(k,2853) = lu(k,2853) - lu(k,1554) * lu(k,2837)
         lu(k,2855) = - lu(k,1555) * lu(k,2837)
         lu(k,2857) = lu(k,2857) - lu(k,1556) * lu(k,2837)
         lu(k,2882) = lu(k,2882) - lu(k,1557) * lu(k,2837)
         lu(k,2884) = lu(k,2884) - lu(k,1558) * lu(k,2837)
         lu(k,2885) = lu(k,2885) - lu(k,1559) * lu(k,2837)
         lu(k,2889) = lu(k,2889) - lu(k,1560) * lu(k,2837)
         lu(k,2891) = lu(k,2891) - lu(k,1561) * lu(k,2837)
         lu(k,2892) = lu(k,2892) - lu(k,1562) * lu(k,2837)
         lu(k,2894) = lu(k,2894) - lu(k,1563) * lu(k,2837)
         lu(k,2895) = lu(k,2895) - lu(k,1564) * lu(k,2837)
         lu(k,2943) = lu(k,2943) - lu(k,1551) * lu(k,2941)
         lu(k,2949) = - lu(k,1552) * lu(k,2941)
         lu(k,2954) = lu(k,2954) - lu(k,1553) * lu(k,2941)
         lu(k,2955) = lu(k,2955) - lu(k,1554) * lu(k,2941)
         lu(k,2957) = - lu(k,1555) * lu(k,2941)
         lu(k,2959) = lu(k,2959) - lu(k,1556) * lu(k,2941)
         lu(k,2983) = lu(k,2983) - lu(k,1557) * lu(k,2941)
         lu(k,2985) = lu(k,2985) - lu(k,1558) * lu(k,2941)
         lu(k,2986) = lu(k,2986) - lu(k,1559) * lu(k,2941)
         lu(k,2990) = lu(k,2990) - lu(k,1560) * lu(k,2941)
         lu(k,2992) = lu(k,2992) - lu(k,1561) * lu(k,2941)
         lu(k,2993) = lu(k,2993) - lu(k,1562) * lu(k,2941)
         lu(k,2995) = lu(k,2995) - lu(k,1563) * lu(k,2941)
         lu(k,2996) = lu(k,2996) - lu(k,1564) * lu(k,2941)
         lu(k,3036) = lu(k,3036) - lu(k,1551) * lu(k,3032)
         lu(k,3040) = - lu(k,1552) * lu(k,3032)
         lu(k,3045) = lu(k,3045) - lu(k,1553) * lu(k,3032)
         lu(k,3046) = lu(k,3046) - lu(k,1554) * lu(k,3032)
         lu(k,3048) = - lu(k,1555) * lu(k,3032)
         lu(k,3050) = - lu(k,1556) * lu(k,3032)
         lu(k,3075) = lu(k,3075) - lu(k,1557) * lu(k,3032)
         lu(k,3077) = lu(k,3077) - lu(k,1558) * lu(k,3032)
         lu(k,3078) = lu(k,3078) - lu(k,1559) * lu(k,3032)
         lu(k,3082) = lu(k,3082) - lu(k,1560) * lu(k,3032)
         lu(k,3084) = lu(k,3084) - lu(k,1561) * lu(k,3032)
         lu(k,3085) = lu(k,3085) - lu(k,1562) * lu(k,3032)
         lu(k,3087) = lu(k,3087) - lu(k,1563) * lu(k,3032)
         lu(k,3088) = lu(k,3088) - lu(k,1564) * lu(k,3032)
         lu(k,3237) = lu(k,3237) - lu(k,1551) * lu(k,3233)
         lu(k,3243) = - lu(k,1552) * lu(k,3233)
         lu(k,3248) = lu(k,3248) - lu(k,1553) * lu(k,3233)
         lu(k,3249) = lu(k,3249) - lu(k,1554) * lu(k,3233)
         lu(k,3251) = lu(k,3251) - lu(k,1555) * lu(k,3233)
         lu(k,3253) = - lu(k,1556) * lu(k,3233)
         lu(k,3278) = lu(k,3278) - lu(k,1557) * lu(k,3233)
         lu(k,3280) = lu(k,3280) - lu(k,1558) * lu(k,3233)
         lu(k,3281) = lu(k,3281) - lu(k,1559) * lu(k,3233)
         lu(k,3285) = lu(k,3285) - lu(k,1560) * lu(k,3233)
         lu(k,3287) = lu(k,3287) - lu(k,1561) * lu(k,3233)
         lu(k,3288) = lu(k,3288) - lu(k,1562) * lu(k,3233)
         lu(k,3290) = lu(k,3290) - lu(k,1563) * lu(k,3233)
         lu(k,3291) = lu(k,3291) - lu(k,1564) * lu(k,3233)
         lu(k,3379) = lu(k,3379) - lu(k,1551) * lu(k,3375)
         lu(k,3384) = lu(k,3384) - lu(k,1552) * lu(k,3375)
         lu(k,3389) = lu(k,3389) - lu(k,1553) * lu(k,3375)
         lu(k,3390) = lu(k,3390) - lu(k,1554) * lu(k,3375)
         lu(k,3392) = - lu(k,1555) * lu(k,3375)
         lu(k,3394) = lu(k,3394) - lu(k,1556) * lu(k,3375)
         lu(k,3419) = lu(k,3419) - lu(k,1557) * lu(k,3375)
         lu(k,3421) = lu(k,3421) - lu(k,1558) * lu(k,3375)
         lu(k,3422) = lu(k,3422) - lu(k,1559) * lu(k,3375)
         lu(k,3426) = lu(k,3426) - lu(k,1560) * lu(k,3375)
         lu(k,3428) = lu(k,3428) - lu(k,1561) * lu(k,3375)
         lu(k,3429) = lu(k,3429) - lu(k,1562) * lu(k,3375)
         lu(k,3431) = lu(k,3431) - lu(k,1563) * lu(k,3375)
         lu(k,3432) = lu(k,3432) - lu(k,1564) * lu(k,3375)
         lu(k,3699) = lu(k,3699) - lu(k,1551) * lu(k,3695)
         lu(k,3705) = lu(k,3705) - lu(k,1552) * lu(k,3695)
         lu(k,3710) = lu(k,3710) - lu(k,1553) * lu(k,3695)
         lu(k,3711) = lu(k,3711) - lu(k,1554) * lu(k,3695)
         lu(k,3713) = lu(k,3713) - lu(k,1555) * lu(k,3695)
         lu(k,3715) = lu(k,3715) - lu(k,1556) * lu(k,3695)
         lu(k,3739) = lu(k,3739) - lu(k,1557) * lu(k,3695)
         lu(k,3741) = lu(k,3741) - lu(k,1558) * lu(k,3695)
         lu(k,3742) = lu(k,3742) - lu(k,1559) * lu(k,3695)
         lu(k,3746) = lu(k,3746) - lu(k,1560) * lu(k,3695)
         lu(k,3748) = lu(k,3748) - lu(k,1561) * lu(k,3695)
         lu(k,3749) = lu(k,3749) - lu(k,1562) * lu(k,3695)
         lu(k,3751) = lu(k,3751) - lu(k,1563) * lu(k,3695)
         lu(k,3752) = lu(k,3752) - lu(k,1564) * lu(k,3695)
      end do
      end subroutine lu_fac35
      subroutine lu_fac36( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,1571) = 1._r8 / lu(k,1571)
         lu(k,1572) = lu(k,1572) * lu(k,1571)
         lu(k,1573) = lu(k,1573) * lu(k,1571)
         lu(k,1574) = lu(k,1574) * lu(k,1571)
         lu(k,1575) = lu(k,1575) * lu(k,1571)
         lu(k,1576) = lu(k,1576) * lu(k,1571)
         lu(k,1577) = lu(k,1577) * lu(k,1571)
         lu(k,1578) = lu(k,1578) * lu(k,1571)
         lu(k,1579) = lu(k,1579) * lu(k,1571)
         lu(k,1580) = lu(k,1580) * lu(k,1571)
         lu(k,1581) = lu(k,1581) * lu(k,1571)
         lu(k,1582) = lu(k,1582) * lu(k,1571)
         lu(k,1583) = lu(k,1583) * lu(k,1571)
         lu(k,1584) = lu(k,1584) * lu(k,1571)
         lu(k,1585) = lu(k,1585) * lu(k,1571)
         lu(k,1724) = lu(k,1724) - lu(k,1572) * lu(k,1723)
         lu(k,1728) = lu(k,1728) - lu(k,1573) * lu(k,1723)
         lu(k,1729) = lu(k,1729) - lu(k,1574) * lu(k,1723)
         lu(k,1732) = lu(k,1732) - lu(k,1575) * lu(k,1723)
         lu(k,1733) = lu(k,1733) - lu(k,1576) * lu(k,1723)
         lu(k,1734) = - lu(k,1577) * lu(k,1723)
         lu(k,1736) = lu(k,1736) - lu(k,1578) * lu(k,1723)
         lu(k,1738) = lu(k,1738) - lu(k,1579) * lu(k,1723)
         lu(k,1739) = lu(k,1739) - lu(k,1580) * lu(k,1723)
         lu(k,1740) = lu(k,1740) - lu(k,1581) * lu(k,1723)
         lu(k,1741) = lu(k,1741) - lu(k,1582) * lu(k,1723)
         lu(k,1742) = lu(k,1742) - lu(k,1583) * lu(k,1723)
         lu(k,1743) = lu(k,1743) - lu(k,1584) * lu(k,1723)
         lu(k,1744) = lu(k,1744) - lu(k,1585) * lu(k,1723)
         lu(k,2660) = lu(k,2660) - lu(k,1572) * lu(k,2657)
         lu(k,2664) = lu(k,2664) - lu(k,1573) * lu(k,2657)
         lu(k,2665) = lu(k,2665) - lu(k,1574) * lu(k,2657)
         lu(k,2670) = lu(k,2670) - lu(k,1575) * lu(k,2657)
         lu(k,2672) = lu(k,2672) - lu(k,1576) * lu(k,2657)
         lu(k,2673) = - lu(k,1577) * lu(k,2657)
         lu(k,2699) = lu(k,2699) - lu(k,1578) * lu(k,2657)
         lu(k,2701) = lu(k,2701) - lu(k,1579) * lu(k,2657)
         lu(k,2702) = lu(k,2702) - lu(k,1580) * lu(k,2657)
         lu(k,2705) = lu(k,2705) - lu(k,1581) * lu(k,2657)
         lu(k,2706) = lu(k,2706) - lu(k,1582) * lu(k,2657)
         lu(k,2707) = lu(k,2707) - lu(k,1583) * lu(k,2657)
         lu(k,2709) = lu(k,2709) - lu(k,1584) * lu(k,2657)
         lu(k,2710) = lu(k,2710) - lu(k,1585) * lu(k,2657)
         lu(k,2841) = lu(k,2841) - lu(k,1572) * lu(k,2838)
         lu(k,2847) = lu(k,2847) - lu(k,1573) * lu(k,2838)
         lu(k,2848) = lu(k,2848) - lu(k,1574) * lu(k,2838)
         lu(k,2853) = lu(k,2853) - lu(k,1575) * lu(k,2838)
         lu(k,2855) = lu(k,2855) - lu(k,1576) * lu(k,2838)
         lu(k,2856) = lu(k,2856) - lu(k,1577) * lu(k,2838)
         lu(k,2882) = lu(k,2882) - lu(k,1578) * lu(k,2838)
         lu(k,2884) = lu(k,2884) - lu(k,1579) * lu(k,2838)
         lu(k,2885) = lu(k,2885) - lu(k,1580) * lu(k,2838)
         lu(k,2889) = lu(k,2889) - lu(k,1581) * lu(k,2838)
         lu(k,2891) = lu(k,2891) - lu(k,1582) * lu(k,2838)
         lu(k,2892) = lu(k,2892) - lu(k,1583) * lu(k,2838)
         lu(k,2894) = lu(k,2894) - lu(k,1584) * lu(k,2838)
         lu(k,2895) = lu(k,2895) - lu(k,1585) * lu(k,2838)
         lu(k,2943) = lu(k,2943) - lu(k,1572) * lu(k,2942)
         lu(k,2949) = lu(k,2949) - lu(k,1573) * lu(k,2942)
         lu(k,2950) = lu(k,2950) - lu(k,1574) * lu(k,2942)
         lu(k,2955) = lu(k,2955) - lu(k,1575) * lu(k,2942)
         lu(k,2957) = lu(k,2957) - lu(k,1576) * lu(k,2942)
         lu(k,2958) = lu(k,2958) - lu(k,1577) * lu(k,2942)
         lu(k,2983) = lu(k,2983) - lu(k,1578) * lu(k,2942)
         lu(k,2985) = lu(k,2985) - lu(k,1579) * lu(k,2942)
         lu(k,2986) = lu(k,2986) - lu(k,1580) * lu(k,2942)
         lu(k,2990) = lu(k,2990) - lu(k,1581) * lu(k,2942)
         lu(k,2992) = lu(k,2992) - lu(k,1582) * lu(k,2942)
         lu(k,2993) = lu(k,2993) - lu(k,1583) * lu(k,2942)
         lu(k,2995) = lu(k,2995) - lu(k,1584) * lu(k,2942)
         lu(k,2996) = lu(k,2996) - lu(k,1585) * lu(k,2942)
         lu(k,3036) = lu(k,3036) - lu(k,1572) * lu(k,3033)
         lu(k,3040) = lu(k,3040) - lu(k,1573) * lu(k,3033)
         lu(k,3041) = lu(k,3041) - lu(k,1574) * lu(k,3033)
         lu(k,3046) = lu(k,3046) - lu(k,1575) * lu(k,3033)
         lu(k,3048) = lu(k,3048) - lu(k,1576) * lu(k,3033)
         lu(k,3049) = - lu(k,1577) * lu(k,3033)
         lu(k,3075) = lu(k,3075) - lu(k,1578) * lu(k,3033)
         lu(k,3077) = lu(k,3077) - lu(k,1579) * lu(k,3033)
         lu(k,3078) = lu(k,3078) - lu(k,1580) * lu(k,3033)
         lu(k,3082) = lu(k,3082) - lu(k,1581) * lu(k,3033)
         lu(k,3084) = lu(k,3084) - lu(k,1582) * lu(k,3033)
         lu(k,3085) = lu(k,3085) - lu(k,1583) * lu(k,3033)
         lu(k,3087) = lu(k,3087) - lu(k,1584) * lu(k,3033)
         lu(k,3088) = lu(k,3088) - lu(k,1585) * lu(k,3033)
         lu(k,3237) = lu(k,3237) - lu(k,1572) * lu(k,3234)
         lu(k,3243) = lu(k,3243) - lu(k,1573) * lu(k,3234)
         lu(k,3244) = lu(k,3244) - lu(k,1574) * lu(k,3234)
         lu(k,3249) = lu(k,3249) - lu(k,1575) * lu(k,3234)
         lu(k,3251) = lu(k,3251) - lu(k,1576) * lu(k,3234)
         lu(k,3252) = - lu(k,1577) * lu(k,3234)
         lu(k,3278) = lu(k,3278) - lu(k,1578) * lu(k,3234)
         lu(k,3280) = lu(k,3280) - lu(k,1579) * lu(k,3234)
         lu(k,3281) = lu(k,3281) - lu(k,1580) * lu(k,3234)
         lu(k,3285) = lu(k,3285) - lu(k,1581) * lu(k,3234)
         lu(k,3287) = lu(k,3287) - lu(k,1582) * lu(k,3234)
         lu(k,3288) = lu(k,3288) - lu(k,1583) * lu(k,3234)
         lu(k,3290) = lu(k,3290) - lu(k,1584) * lu(k,3234)
         lu(k,3291) = lu(k,3291) - lu(k,1585) * lu(k,3234)
         lu(k,3379) = lu(k,3379) - lu(k,1572) * lu(k,3376)
         lu(k,3384) = lu(k,3384) - lu(k,1573) * lu(k,3376)
         lu(k,3385) = lu(k,3385) - lu(k,1574) * lu(k,3376)
         lu(k,3390) = lu(k,3390) - lu(k,1575) * lu(k,3376)
         lu(k,3392) = lu(k,3392) - lu(k,1576) * lu(k,3376)
         lu(k,3393) = lu(k,3393) - lu(k,1577) * lu(k,3376)
         lu(k,3419) = lu(k,3419) - lu(k,1578) * lu(k,3376)
         lu(k,3421) = lu(k,3421) - lu(k,1579) * lu(k,3376)
         lu(k,3422) = lu(k,3422) - lu(k,1580) * lu(k,3376)
         lu(k,3426) = lu(k,3426) - lu(k,1581) * lu(k,3376)
         lu(k,3428) = lu(k,3428) - lu(k,1582) * lu(k,3376)
         lu(k,3429) = lu(k,3429) - lu(k,1583) * lu(k,3376)
         lu(k,3431) = lu(k,3431) - lu(k,1584) * lu(k,3376)
         lu(k,3432) = lu(k,3432) - lu(k,1585) * lu(k,3376)
         lu(k,3699) = lu(k,3699) - lu(k,1572) * lu(k,3696)
         lu(k,3705) = lu(k,3705) - lu(k,1573) * lu(k,3696)
         lu(k,3706) = lu(k,3706) - lu(k,1574) * lu(k,3696)
         lu(k,3711) = lu(k,3711) - lu(k,1575) * lu(k,3696)
         lu(k,3713) = lu(k,3713) - lu(k,1576) * lu(k,3696)
         lu(k,3714) = lu(k,3714) - lu(k,1577) * lu(k,3696)
         lu(k,3739) = lu(k,3739) - lu(k,1578) * lu(k,3696)
         lu(k,3741) = lu(k,3741) - lu(k,1579) * lu(k,3696)
         lu(k,3742) = lu(k,3742) - lu(k,1580) * lu(k,3696)
         lu(k,3746) = lu(k,3746) - lu(k,1581) * lu(k,3696)
         lu(k,3748) = lu(k,3748) - lu(k,1582) * lu(k,3696)
         lu(k,3749) = lu(k,3749) - lu(k,1583) * lu(k,3696)
         lu(k,3751) = lu(k,3751) - lu(k,1584) * lu(k,3696)
         lu(k,3752) = lu(k,3752) - lu(k,1585) * lu(k,3696)
         lu(k,1590) = 1._r8 / lu(k,1590)
         lu(k,1591) = lu(k,1591) * lu(k,1590)
         lu(k,1592) = lu(k,1592) * lu(k,1590)
         lu(k,1593) = lu(k,1593) * lu(k,1590)
         lu(k,1594) = lu(k,1594) * lu(k,1590)
         lu(k,1595) = lu(k,1595) * lu(k,1590)
         lu(k,1596) = lu(k,1596) * lu(k,1590)
         lu(k,1597) = lu(k,1597) * lu(k,1590)
         lu(k,2158) = - lu(k,1591) * lu(k,2154)
         lu(k,2159) = lu(k,2159) - lu(k,1592) * lu(k,2154)
         lu(k,2167) = - lu(k,1593) * lu(k,2154)
         lu(k,2168) = lu(k,2168) - lu(k,1594) * lu(k,2154)
         lu(k,2170) = lu(k,2170) - lu(k,1595) * lu(k,2154)
         lu(k,2173) = lu(k,2173) - lu(k,1596) * lu(k,2154)
         lu(k,2174) = lu(k,2174) - lu(k,1597) * lu(k,2154)
         lu(k,2213) = lu(k,2213) - lu(k,1591) * lu(k,2208)
         lu(k,2215) = lu(k,2215) - lu(k,1592) * lu(k,2208)
         lu(k,2223) = lu(k,2223) - lu(k,1593) * lu(k,2208)
         lu(k,2225) = lu(k,2225) - lu(k,1594) * lu(k,2208)
         lu(k,2227) = lu(k,2227) - lu(k,1595) * lu(k,2208)
         lu(k,2230) = lu(k,2230) - lu(k,1596) * lu(k,2208)
         lu(k,2231) = lu(k,2231) - lu(k,1597) * lu(k,2208)
         lu(k,2242) = lu(k,2242) - lu(k,1591) * lu(k,2237)
         lu(k,2244) = lu(k,2244) - lu(k,1592) * lu(k,2237)
         lu(k,2252) = lu(k,2252) - lu(k,1593) * lu(k,2237)
         lu(k,2254) = lu(k,2254) - lu(k,1594) * lu(k,2237)
         lu(k,2256) = lu(k,2256) - lu(k,1595) * lu(k,2237)
         lu(k,2259) = lu(k,2259) - lu(k,1596) * lu(k,2237)
         lu(k,2260) = lu(k,2260) - lu(k,1597) * lu(k,2237)
         lu(k,2270) = lu(k,2270) - lu(k,1591) * lu(k,2266)
         lu(k,2273) = - lu(k,1592) * lu(k,2266)
         lu(k,2281) = - lu(k,1593) * lu(k,2266)
         lu(k,2283) = lu(k,2283) - lu(k,1594) * lu(k,2266)
         lu(k,2285) = lu(k,2285) - lu(k,1595) * lu(k,2266)
         lu(k,2288) = lu(k,2288) - lu(k,1596) * lu(k,2266)
         lu(k,2289) = lu(k,2289) - lu(k,1597) * lu(k,2266)
         lu(k,2302) = lu(k,2302) - lu(k,1591) * lu(k,2300)
         lu(k,2305) = lu(k,2305) - lu(k,1592) * lu(k,2300)
         lu(k,2313) = lu(k,2313) - lu(k,1593) * lu(k,2300)
         lu(k,2315) = lu(k,2315) - lu(k,1594) * lu(k,2300)
         lu(k,2317) = lu(k,2317) - lu(k,1595) * lu(k,2300)
         lu(k,2320) = lu(k,2320) - lu(k,1596) * lu(k,2300)
         lu(k,2321) = lu(k,2321) - lu(k,1597) * lu(k,2300)
         lu(k,2362) = lu(k,2362) - lu(k,1591) * lu(k,2359)
         lu(k,2366) = lu(k,2366) - lu(k,1592) * lu(k,2359)
         lu(k,2374) = lu(k,2374) - lu(k,1593) * lu(k,2359)
         lu(k,2376) = lu(k,2376) - lu(k,1594) * lu(k,2359)
         lu(k,2378) = lu(k,2378) - lu(k,1595) * lu(k,2359)
         lu(k,2381) = lu(k,2381) - lu(k,1596) * lu(k,2359)
         lu(k,2382) = lu(k,2382) - lu(k,1597) * lu(k,2359)
         lu(k,2391) = - lu(k,1591) * lu(k,2388)
         lu(k,2393) = lu(k,2393) - lu(k,1592) * lu(k,2388)
         lu(k,2399) = - lu(k,1593) * lu(k,2388)
         lu(k,2401) = lu(k,2401) - lu(k,1594) * lu(k,2388)
         lu(k,2404) = lu(k,2404) - lu(k,1595) * lu(k,2388)
         lu(k,2407) = lu(k,2407) - lu(k,1596) * lu(k,2388)
         lu(k,2408) = lu(k,2408) - lu(k,1597) * lu(k,2388)
         lu(k,2520) = lu(k,2520) - lu(k,1591) * lu(k,2510)
         lu(k,2528) = lu(k,2528) - lu(k,1592) * lu(k,2510)
         lu(k,2536) = lu(k,2536) - lu(k,1593) * lu(k,2510)
         lu(k,2538) = lu(k,2538) - lu(k,1594) * lu(k,2510)
         lu(k,2541) = lu(k,2541) - lu(k,1595) * lu(k,2510)
         lu(k,2545) = lu(k,2545) - lu(k,1596) * lu(k,2510)
         lu(k,2546) = lu(k,2546) - lu(k,1597) * lu(k,2510)
         lu(k,2566) = lu(k,2566) - lu(k,1591) * lu(k,2556)
         lu(k,2574) = lu(k,2574) - lu(k,1592) * lu(k,2556)
         lu(k,2582) = lu(k,2582) - lu(k,1593) * lu(k,2556)
         lu(k,2584) = lu(k,2584) - lu(k,1594) * lu(k,2556)
         lu(k,2587) = lu(k,2587) - lu(k,1595) * lu(k,2556)
         lu(k,2591) = lu(k,2591) - lu(k,1596) * lu(k,2556)
         lu(k,2592) = lu(k,2592) - lu(k,1597) * lu(k,2556)
         lu(k,2613) = lu(k,2613) - lu(k,1591) * lu(k,2603)
         lu(k,2621) = lu(k,2621) - lu(k,1592) * lu(k,2603)
         lu(k,2629) = lu(k,2629) - lu(k,1593) * lu(k,2603)
         lu(k,2631) = lu(k,2631) - lu(k,1594) * lu(k,2603)
         lu(k,2634) = lu(k,2634) - lu(k,1595) * lu(k,2603)
         lu(k,2638) = lu(k,2638) - lu(k,1596) * lu(k,2603)
         lu(k,2639) = lu(k,2639) - lu(k,1597) * lu(k,2603)
         lu(k,2684) = lu(k,2684) - lu(k,1591) * lu(k,2658)
         lu(k,2692) = lu(k,2692) - lu(k,1592) * lu(k,2658)
         lu(k,2700) = lu(k,2700) - lu(k,1593) * lu(k,2658)
         lu(k,2702) = lu(k,2702) - lu(k,1594) * lu(k,2658)
         lu(k,2705) = lu(k,2705) - lu(k,1595) * lu(k,2658)
         lu(k,2709) = lu(k,2709) - lu(k,1596) * lu(k,2658)
         lu(k,2710) = lu(k,2710) - lu(k,1597) * lu(k,2658)
         lu(k,2867) = lu(k,2867) - lu(k,1591) * lu(k,2839)
         lu(k,2875) = lu(k,2875) - lu(k,1592) * lu(k,2839)
         lu(k,2883) = lu(k,2883) - lu(k,1593) * lu(k,2839)
         lu(k,2885) = lu(k,2885) - lu(k,1594) * lu(k,2839)
         lu(k,2889) = lu(k,2889) - lu(k,1595) * lu(k,2839)
         lu(k,2894) = lu(k,2894) - lu(k,1596) * lu(k,2839)
         lu(k,2895) = lu(k,2895) - lu(k,1597) * lu(k,2839)
         lu(k,3060) = lu(k,3060) - lu(k,1591) * lu(k,3034)
         lu(k,3068) = lu(k,3068) - lu(k,1592) * lu(k,3034)
         lu(k,3076) = lu(k,3076) - lu(k,1593) * lu(k,3034)
         lu(k,3078) = lu(k,3078) - lu(k,1594) * lu(k,3034)
         lu(k,3082) = lu(k,3082) - lu(k,1595) * lu(k,3034)
         lu(k,3087) = lu(k,3087) - lu(k,1596) * lu(k,3034)
         lu(k,3088) = lu(k,3088) - lu(k,1597) * lu(k,3034)
         lu(k,3263) = lu(k,3263) - lu(k,1591) * lu(k,3235)
         lu(k,3271) = lu(k,3271) - lu(k,1592) * lu(k,3235)
         lu(k,3279) = lu(k,3279) - lu(k,1593) * lu(k,3235)
         lu(k,3281) = lu(k,3281) - lu(k,1594) * lu(k,3235)
         lu(k,3285) = lu(k,3285) - lu(k,1595) * lu(k,3235)
         lu(k,3290) = lu(k,3290) - lu(k,1596) * lu(k,3235)
         lu(k,3291) = lu(k,3291) - lu(k,1597) * lu(k,3235)
         lu(k,3404) = lu(k,3404) - lu(k,1591) * lu(k,3377)
         lu(k,3412) = lu(k,3412) - lu(k,1592) * lu(k,3377)
         lu(k,3420) = lu(k,3420) - lu(k,1593) * lu(k,3377)
         lu(k,3422) = lu(k,3422) - lu(k,1594) * lu(k,3377)
         lu(k,3426) = lu(k,3426) - lu(k,1595) * lu(k,3377)
         lu(k,3431) = lu(k,3431) - lu(k,1596) * lu(k,3377)
         lu(k,3432) = lu(k,3432) - lu(k,1597) * lu(k,3377)
         lu(k,3724) = lu(k,3724) - lu(k,1591) * lu(k,3697)
         lu(k,3732) = lu(k,3732) - lu(k,1592) * lu(k,3697)
         lu(k,3740) = lu(k,3740) - lu(k,1593) * lu(k,3697)
         lu(k,3742) = lu(k,3742) - lu(k,1594) * lu(k,3697)
         lu(k,3746) = lu(k,3746) - lu(k,1595) * lu(k,3697)
         lu(k,3751) = lu(k,3751) - lu(k,1596) * lu(k,3697)
         lu(k,3752) = lu(k,3752) - lu(k,1597) * lu(k,3697)
         lu(k,1603) = 1._r8 / lu(k,1603)
         lu(k,1604) = lu(k,1604) * lu(k,1603)
         lu(k,1605) = lu(k,1605) * lu(k,1603)
         lu(k,1606) = lu(k,1606) * lu(k,1603)
         lu(k,1607) = lu(k,1607) * lu(k,1603)
         lu(k,1608) = lu(k,1608) * lu(k,1603)
         lu(k,1609) = lu(k,1609) * lu(k,1603)
         lu(k,1610) = lu(k,1610) * lu(k,1603)
         lu(k,2158) = lu(k,2158) - lu(k,1604) * lu(k,2155)
         lu(k,2159) = lu(k,2159) - lu(k,1605) * lu(k,2155)
         lu(k,2167) = lu(k,2167) - lu(k,1606) * lu(k,2155)
         lu(k,2168) = lu(k,2168) - lu(k,1607) * lu(k,2155)
         lu(k,2170) = lu(k,2170) - lu(k,1608) * lu(k,2155)
         lu(k,2173) = lu(k,2173) - lu(k,1609) * lu(k,2155)
         lu(k,2174) = lu(k,2174) - lu(k,1610) * lu(k,2155)
         lu(k,2213) = lu(k,2213) - lu(k,1604) * lu(k,2209)
         lu(k,2215) = lu(k,2215) - lu(k,1605) * lu(k,2209)
         lu(k,2223) = lu(k,2223) - lu(k,1606) * lu(k,2209)
         lu(k,2225) = lu(k,2225) - lu(k,1607) * lu(k,2209)
         lu(k,2227) = lu(k,2227) - lu(k,1608) * lu(k,2209)
         lu(k,2230) = lu(k,2230) - lu(k,1609) * lu(k,2209)
         lu(k,2231) = lu(k,2231) - lu(k,1610) * lu(k,2209)
         lu(k,2242) = lu(k,2242) - lu(k,1604) * lu(k,2238)
         lu(k,2244) = lu(k,2244) - lu(k,1605) * lu(k,2238)
         lu(k,2252) = lu(k,2252) - lu(k,1606) * lu(k,2238)
         lu(k,2254) = lu(k,2254) - lu(k,1607) * lu(k,2238)
         lu(k,2256) = lu(k,2256) - lu(k,1608) * lu(k,2238)
         lu(k,2259) = lu(k,2259) - lu(k,1609) * lu(k,2238)
         lu(k,2260) = lu(k,2260) - lu(k,1610) * lu(k,2238)
         lu(k,2270) = lu(k,2270) - lu(k,1604) * lu(k,2267)
         lu(k,2273) = lu(k,2273) - lu(k,1605) * lu(k,2267)
         lu(k,2281) = lu(k,2281) - lu(k,1606) * lu(k,2267)
         lu(k,2283) = lu(k,2283) - lu(k,1607) * lu(k,2267)
         lu(k,2285) = lu(k,2285) - lu(k,1608) * lu(k,2267)
         lu(k,2288) = lu(k,2288) - lu(k,1609) * lu(k,2267)
         lu(k,2289) = lu(k,2289) - lu(k,1610) * lu(k,2267)
         lu(k,2302) = lu(k,2302) - lu(k,1604) * lu(k,2301)
         lu(k,2305) = lu(k,2305) - lu(k,1605) * lu(k,2301)
         lu(k,2313) = lu(k,2313) - lu(k,1606) * lu(k,2301)
         lu(k,2315) = lu(k,2315) - lu(k,1607) * lu(k,2301)
         lu(k,2317) = lu(k,2317) - lu(k,1608) * lu(k,2301)
         lu(k,2320) = lu(k,2320) - lu(k,1609) * lu(k,2301)
         lu(k,2321) = lu(k,2321) - lu(k,1610) * lu(k,2301)
         lu(k,2362) = lu(k,2362) - lu(k,1604) * lu(k,2360)
         lu(k,2366) = lu(k,2366) - lu(k,1605) * lu(k,2360)
         lu(k,2374) = lu(k,2374) - lu(k,1606) * lu(k,2360)
         lu(k,2376) = lu(k,2376) - lu(k,1607) * lu(k,2360)
         lu(k,2378) = lu(k,2378) - lu(k,1608) * lu(k,2360)
         lu(k,2381) = lu(k,2381) - lu(k,1609) * lu(k,2360)
         lu(k,2382) = lu(k,2382) - lu(k,1610) * lu(k,2360)
         lu(k,2391) = lu(k,2391) - lu(k,1604) * lu(k,2389)
         lu(k,2393) = lu(k,2393) - lu(k,1605) * lu(k,2389)
         lu(k,2399) = lu(k,2399) - lu(k,1606) * lu(k,2389)
         lu(k,2401) = lu(k,2401) - lu(k,1607) * lu(k,2389)
         lu(k,2404) = lu(k,2404) - lu(k,1608) * lu(k,2389)
         lu(k,2407) = lu(k,2407) - lu(k,1609) * lu(k,2389)
         lu(k,2408) = lu(k,2408) - lu(k,1610) * lu(k,2389)
         lu(k,2520) = lu(k,2520) - lu(k,1604) * lu(k,2511)
         lu(k,2528) = lu(k,2528) - lu(k,1605) * lu(k,2511)
         lu(k,2536) = lu(k,2536) - lu(k,1606) * lu(k,2511)
         lu(k,2538) = lu(k,2538) - lu(k,1607) * lu(k,2511)
         lu(k,2541) = lu(k,2541) - lu(k,1608) * lu(k,2511)
         lu(k,2545) = lu(k,2545) - lu(k,1609) * lu(k,2511)
         lu(k,2546) = lu(k,2546) - lu(k,1610) * lu(k,2511)
         lu(k,2566) = lu(k,2566) - lu(k,1604) * lu(k,2557)
         lu(k,2574) = lu(k,2574) - lu(k,1605) * lu(k,2557)
         lu(k,2582) = lu(k,2582) - lu(k,1606) * lu(k,2557)
         lu(k,2584) = lu(k,2584) - lu(k,1607) * lu(k,2557)
         lu(k,2587) = lu(k,2587) - lu(k,1608) * lu(k,2557)
         lu(k,2591) = lu(k,2591) - lu(k,1609) * lu(k,2557)
         lu(k,2592) = lu(k,2592) - lu(k,1610) * lu(k,2557)
         lu(k,2613) = lu(k,2613) - lu(k,1604) * lu(k,2604)
         lu(k,2621) = lu(k,2621) - lu(k,1605) * lu(k,2604)
         lu(k,2629) = lu(k,2629) - lu(k,1606) * lu(k,2604)
         lu(k,2631) = lu(k,2631) - lu(k,1607) * lu(k,2604)
         lu(k,2634) = lu(k,2634) - lu(k,1608) * lu(k,2604)
         lu(k,2638) = lu(k,2638) - lu(k,1609) * lu(k,2604)
         lu(k,2639) = lu(k,2639) - lu(k,1610) * lu(k,2604)
         lu(k,2684) = lu(k,2684) - lu(k,1604) * lu(k,2659)
         lu(k,2692) = lu(k,2692) - lu(k,1605) * lu(k,2659)
         lu(k,2700) = lu(k,2700) - lu(k,1606) * lu(k,2659)
         lu(k,2702) = lu(k,2702) - lu(k,1607) * lu(k,2659)
         lu(k,2705) = lu(k,2705) - lu(k,1608) * lu(k,2659)
         lu(k,2709) = lu(k,2709) - lu(k,1609) * lu(k,2659)
         lu(k,2710) = lu(k,2710) - lu(k,1610) * lu(k,2659)
         lu(k,2867) = lu(k,2867) - lu(k,1604) * lu(k,2840)
         lu(k,2875) = lu(k,2875) - lu(k,1605) * lu(k,2840)
         lu(k,2883) = lu(k,2883) - lu(k,1606) * lu(k,2840)
         lu(k,2885) = lu(k,2885) - lu(k,1607) * lu(k,2840)
         lu(k,2889) = lu(k,2889) - lu(k,1608) * lu(k,2840)
         lu(k,2894) = lu(k,2894) - lu(k,1609) * lu(k,2840)
         lu(k,2895) = lu(k,2895) - lu(k,1610) * lu(k,2840)
         lu(k,3060) = lu(k,3060) - lu(k,1604) * lu(k,3035)
         lu(k,3068) = lu(k,3068) - lu(k,1605) * lu(k,3035)
         lu(k,3076) = lu(k,3076) - lu(k,1606) * lu(k,3035)
         lu(k,3078) = lu(k,3078) - lu(k,1607) * lu(k,3035)
         lu(k,3082) = lu(k,3082) - lu(k,1608) * lu(k,3035)
         lu(k,3087) = lu(k,3087) - lu(k,1609) * lu(k,3035)
         lu(k,3088) = lu(k,3088) - lu(k,1610) * lu(k,3035)
         lu(k,3263) = lu(k,3263) - lu(k,1604) * lu(k,3236)
         lu(k,3271) = lu(k,3271) - lu(k,1605) * lu(k,3236)
         lu(k,3279) = lu(k,3279) - lu(k,1606) * lu(k,3236)
         lu(k,3281) = lu(k,3281) - lu(k,1607) * lu(k,3236)
         lu(k,3285) = lu(k,3285) - lu(k,1608) * lu(k,3236)
         lu(k,3290) = lu(k,3290) - lu(k,1609) * lu(k,3236)
         lu(k,3291) = lu(k,3291) - lu(k,1610) * lu(k,3236)
         lu(k,3404) = lu(k,3404) - lu(k,1604) * lu(k,3378)
         lu(k,3412) = lu(k,3412) - lu(k,1605) * lu(k,3378)
         lu(k,3420) = lu(k,3420) - lu(k,1606) * lu(k,3378)
         lu(k,3422) = lu(k,3422) - lu(k,1607) * lu(k,3378)
         lu(k,3426) = lu(k,3426) - lu(k,1608) * lu(k,3378)
         lu(k,3431) = lu(k,3431) - lu(k,1609) * lu(k,3378)
         lu(k,3432) = lu(k,3432) - lu(k,1610) * lu(k,3378)
         lu(k,3724) = lu(k,3724) - lu(k,1604) * lu(k,3698)
         lu(k,3732) = lu(k,3732) - lu(k,1605) * lu(k,3698)
         lu(k,3740) = lu(k,3740) - lu(k,1606) * lu(k,3698)
         lu(k,3742) = lu(k,3742) - lu(k,1607) * lu(k,3698)
         lu(k,3746) = lu(k,3746) - lu(k,1608) * lu(k,3698)
         lu(k,3751) = lu(k,3751) - lu(k,1609) * lu(k,3698)
         lu(k,3752) = lu(k,3752) - lu(k,1610) * lu(k,3698)
         lu(k,1611) = 1._r8 / lu(k,1611)
         lu(k,1612) = lu(k,1612) * lu(k,1611)
         lu(k,1613) = lu(k,1613) * lu(k,1611)
         lu(k,1614) = lu(k,1614) * lu(k,1611)
         lu(k,1615) = lu(k,1615) * lu(k,1611)
         lu(k,1616) = lu(k,1616) * lu(k,1611)
         lu(k,1621) = lu(k,1621) - lu(k,1612) * lu(k,1619)
         lu(k,1622) = lu(k,1622) - lu(k,1613) * lu(k,1619)
         lu(k,1624) = lu(k,1624) - lu(k,1614) * lu(k,1619)
         lu(k,1625) = lu(k,1625) - lu(k,1615) * lu(k,1619)
         lu(k,1627) = lu(k,1627) - lu(k,1616) * lu(k,1619)
         lu(k,1637) = lu(k,1637) - lu(k,1612) * lu(k,1633)
         lu(k,1638) = lu(k,1638) - lu(k,1613) * lu(k,1633)
         lu(k,1640) = lu(k,1640) - lu(k,1614) * lu(k,1633)
         lu(k,1641) = lu(k,1641) - lu(k,1615) * lu(k,1633)
         lu(k,1643) = lu(k,1643) - lu(k,1616) * lu(k,1633)
         lu(k,1671) = lu(k,1671) - lu(k,1612) * lu(k,1665)
         lu(k,1675) = lu(k,1675) - lu(k,1613) * lu(k,1665)
         lu(k,1678) = lu(k,1678) - lu(k,1614) * lu(k,1665)
         lu(k,1679) = lu(k,1679) - lu(k,1615) * lu(k,1665)
         lu(k,1682) = lu(k,1682) - lu(k,1616) * lu(k,1665)
         lu(k,1702) = lu(k,1702) - lu(k,1612) * lu(k,1698)
         lu(k,1703) = lu(k,1703) - lu(k,1613) * lu(k,1698)
         lu(k,1706) = lu(k,1706) - lu(k,1614) * lu(k,1698)
         lu(k,1707) = lu(k,1707) - lu(k,1615) * lu(k,1698)
         lu(k,1709) = lu(k,1709) - lu(k,1616) * lu(k,1698)
         lu(k,1732) = lu(k,1732) - lu(k,1612) * lu(k,1724)
         lu(k,1736) = lu(k,1736) - lu(k,1613) * lu(k,1724)
         lu(k,1740) = lu(k,1740) - lu(k,1614) * lu(k,1724)
         lu(k,1741) = lu(k,1741) - lu(k,1615) * lu(k,1724)
         lu(k,1744) = lu(k,1744) - lu(k,1616) * lu(k,1724)
         lu(k,1752) = lu(k,1752) - lu(k,1612) * lu(k,1749)
         lu(k,1754) = lu(k,1754) - lu(k,1613) * lu(k,1749)
         lu(k,1759) = lu(k,1759) - lu(k,1614) * lu(k,1749)
         lu(k,1760) = lu(k,1760) - lu(k,1615) * lu(k,1749)
         lu(k,1763) = lu(k,1763) - lu(k,1616) * lu(k,1749)
         lu(k,1783) = lu(k,1783) - lu(k,1612) * lu(k,1778)
         lu(k,1787) = lu(k,1787) - lu(k,1613) * lu(k,1778)
         lu(k,1790) = lu(k,1790) - lu(k,1614) * lu(k,1778)
         lu(k,1791) = lu(k,1791) - lu(k,1615) * lu(k,1778)
         lu(k,1794) = lu(k,1794) - lu(k,1616) * lu(k,1778)
         lu(k,1830) = lu(k,1830) - lu(k,1612) * lu(k,1823)
         lu(k,1834) = lu(k,1834) - lu(k,1613) * lu(k,1823)
         lu(k,1838) = lu(k,1838) - lu(k,1614) * lu(k,1823)
         lu(k,1839) = lu(k,1839) - lu(k,1615) * lu(k,1823)
         lu(k,1842) = lu(k,1842) - lu(k,1616) * lu(k,1823)
         lu(k,1862) = lu(k,1862) - lu(k,1612) * lu(k,1860)
         lu(k,1864) = lu(k,1864) - lu(k,1613) * lu(k,1860)
         lu(k,1870) = lu(k,1870) - lu(k,1614) * lu(k,1860)
         lu(k,1871) = lu(k,1871) - lu(k,1615) * lu(k,1860)
         lu(k,1874) = lu(k,1874) - lu(k,1616) * lu(k,1860)
         lu(k,1894) = lu(k,1894) - lu(k,1612) * lu(k,1887)
         lu(k,1900) = lu(k,1900) - lu(k,1613) * lu(k,1887)
         lu(k,1906) = lu(k,1906) - lu(k,1614) * lu(k,1887)
         lu(k,1907) = lu(k,1907) - lu(k,1615) * lu(k,1887)
         lu(k,1910) = lu(k,1910) - lu(k,1616) * lu(k,1887)
         lu(k,1929) = lu(k,1929) - lu(k,1612) * lu(k,1924)
         lu(k,1932) = lu(k,1932) - lu(k,1613) * lu(k,1924)
         lu(k,1938) = lu(k,1938) - lu(k,1614) * lu(k,1924)
         lu(k,1939) = lu(k,1939) - lu(k,1615) * lu(k,1924)
         lu(k,1942) = lu(k,1942) - lu(k,1616) * lu(k,1924)
         lu(k,1963) = lu(k,1963) - lu(k,1612) * lu(k,1958)
         lu(k,1966) = lu(k,1966) - lu(k,1613) * lu(k,1958)
         lu(k,1972) = lu(k,1972) - lu(k,1614) * lu(k,1958)
         lu(k,1973) = lu(k,1973) - lu(k,1615) * lu(k,1958)
         lu(k,1976) = lu(k,1976) - lu(k,1616) * lu(k,1958)
         lu(k,1992) = lu(k,1992) - lu(k,1612) * lu(k,1987)
         lu(k,1994) = lu(k,1994) - lu(k,1613) * lu(k,1987)
         lu(k,2000) = lu(k,2000) - lu(k,1614) * lu(k,1987)
         lu(k,2001) = lu(k,2001) - lu(k,1615) * lu(k,1987)
         lu(k,2004) = lu(k,2004) - lu(k,1616) * lu(k,1987)
         lu(k,2029) = lu(k,2029) - lu(k,1612) * lu(k,2024)
         lu(k,2036) = lu(k,2036) - lu(k,1613) * lu(k,2024)
         lu(k,2042) = lu(k,2042) - lu(k,1614) * lu(k,2024)
         lu(k,2043) = lu(k,2043) - lu(k,1615) * lu(k,2024)
         lu(k,2047) = lu(k,2047) - lu(k,1616) * lu(k,2024)
         lu(k,2140) = lu(k,2140) - lu(k,1612) * lu(k,2139)
         lu(k,2142) = lu(k,2142) - lu(k,1613) * lu(k,2139)
         lu(k,2147) = lu(k,2147) - lu(k,1614) * lu(k,2139)
         lu(k,2148) = lu(k,2148) - lu(k,1615) * lu(k,2139)
         lu(k,2151) = lu(k,2151) - lu(k,1616) * lu(k,2139)
         lu(k,2670) = lu(k,2670) - lu(k,1612) * lu(k,2660)
         lu(k,2699) = lu(k,2699) - lu(k,1613) * lu(k,2660)
         lu(k,2705) = lu(k,2705) - lu(k,1614) * lu(k,2660)
         lu(k,2706) = lu(k,2706) - lu(k,1615) * lu(k,2660)
         lu(k,2710) = lu(k,2710) - lu(k,1616) * lu(k,2660)
         lu(k,2853) = lu(k,2853) - lu(k,1612) * lu(k,2841)
         lu(k,2882) = lu(k,2882) - lu(k,1613) * lu(k,2841)
         lu(k,2889) = lu(k,2889) - lu(k,1614) * lu(k,2841)
         lu(k,2891) = lu(k,2891) - lu(k,1615) * lu(k,2841)
         lu(k,2895) = lu(k,2895) - lu(k,1616) * lu(k,2841)
         lu(k,2955) = lu(k,2955) - lu(k,1612) * lu(k,2943)
         lu(k,2983) = lu(k,2983) - lu(k,1613) * lu(k,2943)
         lu(k,2990) = lu(k,2990) - lu(k,1614) * lu(k,2943)
         lu(k,2992) = lu(k,2992) - lu(k,1615) * lu(k,2943)
         lu(k,2996) = lu(k,2996) - lu(k,1616) * lu(k,2943)
         lu(k,3046) = lu(k,3046) - lu(k,1612) * lu(k,3036)
         lu(k,3075) = lu(k,3075) - lu(k,1613) * lu(k,3036)
         lu(k,3082) = lu(k,3082) - lu(k,1614) * lu(k,3036)
         lu(k,3084) = lu(k,3084) - lu(k,1615) * lu(k,3036)
         lu(k,3088) = lu(k,3088) - lu(k,1616) * lu(k,3036)
         lu(k,3249) = lu(k,3249) - lu(k,1612) * lu(k,3237)
         lu(k,3278) = lu(k,3278) - lu(k,1613) * lu(k,3237)
         lu(k,3285) = lu(k,3285) - lu(k,1614) * lu(k,3237)
         lu(k,3287) = lu(k,3287) - lu(k,1615) * lu(k,3237)
         lu(k,3291) = lu(k,3291) - lu(k,1616) * lu(k,3237)
         lu(k,3390) = lu(k,3390) - lu(k,1612) * lu(k,3379)
         lu(k,3419) = lu(k,3419) - lu(k,1613) * lu(k,3379)
         lu(k,3426) = lu(k,3426) - lu(k,1614) * lu(k,3379)
         lu(k,3428) = lu(k,3428) - lu(k,1615) * lu(k,3379)
         lu(k,3432) = lu(k,3432) - lu(k,1616) * lu(k,3379)
         lu(k,3493) = lu(k,3493) - lu(k,1612) * lu(k,3491)
         lu(k,3499) = lu(k,3499) - lu(k,1613) * lu(k,3491)
         lu(k,3506) = lu(k,3506) - lu(k,1614) * lu(k,3491)
         lu(k,3508) = lu(k,3508) - lu(k,1615) * lu(k,3491)
         lu(k,3512) = lu(k,3512) - lu(k,1616) * lu(k,3491)
         lu(k,3711) = lu(k,3711) - lu(k,1612) * lu(k,3699)
         lu(k,3739) = lu(k,3739) - lu(k,1613) * lu(k,3699)
         lu(k,3746) = lu(k,3746) - lu(k,1614) * lu(k,3699)
         lu(k,3748) = lu(k,3748) - lu(k,1615) * lu(k,3699)
         lu(k,3752) = lu(k,3752) - lu(k,1616) * lu(k,3699)
         lu(k,1620) = 1._r8 / lu(k,1620)
         lu(k,1621) = lu(k,1621) * lu(k,1620)
         lu(k,1622) = lu(k,1622) * lu(k,1620)
         lu(k,1623) = lu(k,1623) * lu(k,1620)
         lu(k,1624) = lu(k,1624) * lu(k,1620)
         lu(k,1625) = lu(k,1625) * lu(k,1620)
         lu(k,1626) = lu(k,1626) * lu(k,1620)
         lu(k,1627) = lu(k,1627) * lu(k,1620)
         lu(k,1637) = lu(k,1637) - lu(k,1621) * lu(k,1634)
         lu(k,1638) = lu(k,1638) - lu(k,1622) * lu(k,1634)
         lu(k,1639) = lu(k,1639) - lu(k,1623) * lu(k,1634)
         lu(k,1640) = lu(k,1640) - lu(k,1624) * lu(k,1634)
         lu(k,1641) = lu(k,1641) - lu(k,1625) * lu(k,1634)
         lu(k,1642) = lu(k,1642) - lu(k,1626) * lu(k,1634)
         lu(k,1643) = lu(k,1643) - lu(k,1627) * lu(k,1634)
         lu(k,1671) = lu(k,1671) - lu(k,1621) * lu(k,1666)
         lu(k,1675) = lu(k,1675) - lu(k,1622) * lu(k,1666)
         lu(k,1676) = lu(k,1676) - lu(k,1623) * lu(k,1666)
         lu(k,1678) = lu(k,1678) - lu(k,1624) * lu(k,1666)
         lu(k,1679) = lu(k,1679) - lu(k,1625) * lu(k,1666)
         lu(k,1681) = lu(k,1681) - lu(k,1626) * lu(k,1666)
         lu(k,1682) = lu(k,1682) - lu(k,1627) * lu(k,1666)
         lu(k,1732) = lu(k,1732) - lu(k,1621) * lu(k,1725)
         lu(k,1736) = lu(k,1736) - lu(k,1622) * lu(k,1725)
         lu(k,1738) = lu(k,1738) - lu(k,1623) * lu(k,1725)
         lu(k,1740) = lu(k,1740) - lu(k,1624) * lu(k,1725)
         lu(k,1741) = lu(k,1741) - lu(k,1625) * lu(k,1725)
         lu(k,1743) = lu(k,1743) - lu(k,1626) * lu(k,1725)
         lu(k,1744) = lu(k,1744) - lu(k,1627) * lu(k,1725)
         lu(k,1752) = lu(k,1752) - lu(k,1621) * lu(k,1750)
         lu(k,1754) = lu(k,1754) - lu(k,1622) * lu(k,1750)
         lu(k,1755) = lu(k,1755) - lu(k,1623) * lu(k,1750)
         lu(k,1759) = lu(k,1759) - lu(k,1624) * lu(k,1750)
         lu(k,1760) = lu(k,1760) - lu(k,1625) * lu(k,1750)
         lu(k,1762) = lu(k,1762) - lu(k,1626) * lu(k,1750)
         lu(k,1763) = lu(k,1763) - lu(k,1627) * lu(k,1750)
         lu(k,1830) = lu(k,1830) - lu(k,1621) * lu(k,1824)
         lu(k,1834) = lu(k,1834) - lu(k,1622) * lu(k,1824)
         lu(k,1836) = lu(k,1836) - lu(k,1623) * lu(k,1824)
         lu(k,1838) = lu(k,1838) - lu(k,1624) * lu(k,1824)
         lu(k,1839) = lu(k,1839) - lu(k,1625) * lu(k,1824)
         lu(k,1841) = lu(k,1841) - lu(k,1626) * lu(k,1824)
         lu(k,1842) = lu(k,1842) - lu(k,1627) * lu(k,1824)
         lu(k,1929) = lu(k,1929) - lu(k,1621) * lu(k,1925)
         lu(k,1932) = lu(k,1932) - lu(k,1622) * lu(k,1925)
         lu(k,1934) = lu(k,1934) - lu(k,1623) * lu(k,1925)
         lu(k,1938) = lu(k,1938) - lu(k,1624) * lu(k,1925)
         lu(k,1939) = lu(k,1939) - lu(k,1625) * lu(k,1925)
         lu(k,1941) = lu(k,1941) - lu(k,1626) * lu(k,1925)
         lu(k,1942) = lu(k,1942) - lu(k,1627) * lu(k,1925)
         lu(k,1963) = lu(k,1963) - lu(k,1621) * lu(k,1959)
         lu(k,1966) = lu(k,1966) - lu(k,1622) * lu(k,1959)
         lu(k,1968) = lu(k,1968) - lu(k,1623) * lu(k,1959)
         lu(k,1972) = lu(k,1972) - lu(k,1624) * lu(k,1959)
         lu(k,1973) = lu(k,1973) - lu(k,1625) * lu(k,1959)
         lu(k,1975) = lu(k,1975) - lu(k,1626) * lu(k,1959)
         lu(k,1976) = lu(k,1976) - lu(k,1627) * lu(k,1959)
         lu(k,1992) = lu(k,1992) - lu(k,1621) * lu(k,1988)
         lu(k,1994) = lu(k,1994) - lu(k,1622) * lu(k,1988)
         lu(k,1996) = lu(k,1996) - lu(k,1623) * lu(k,1988)
         lu(k,2000) = lu(k,2000) - lu(k,1624) * lu(k,1988)
         lu(k,2001) = lu(k,2001) - lu(k,1625) * lu(k,1988)
         lu(k,2003) = lu(k,2003) - lu(k,1626) * lu(k,1988)
         lu(k,2004) = lu(k,2004) - lu(k,1627) * lu(k,1988)
         lu(k,2029) = lu(k,2029) - lu(k,1621) * lu(k,2025)
         lu(k,2036) = lu(k,2036) - lu(k,1622) * lu(k,2025)
         lu(k,2038) = lu(k,2038) - lu(k,1623) * lu(k,2025)
         lu(k,2042) = lu(k,2042) - lu(k,1624) * lu(k,2025)
         lu(k,2043) = lu(k,2043) - lu(k,1625) * lu(k,2025)
         lu(k,2046) = lu(k,2046) - lu(k,1626) * lu(k,2025)
         lu(k,2047) = lu(k,2047) - lu(k,1627) * lu(k,2025)
         lu(k,2670) = lu(k,2670) - lu(k,1621) * lu(k,2661)
         lu(k,2699) = lu(k,2699) - lu(k,1622) * lu(k,2661)
         lu(k,2701) = lu(k,2701) - lu(k,1623) * lu(k,2661)
         lu(k,2705) = lu(k,2705) - lu(k,1624) * lu(k,2661)
         lu(k,2706) = lu(k,2706) - lu(k,1625) * lu(k,2661)
         lu(k,2709) = lu(k,2709) - lu(k,1626) * lu(k,2661)
         lu(k,2710) = lu(k,2710) - lu(k,1627) * lu(k,2661)
         lu(k,2853) = lu(k,2853) - lu(k,1621) * lu(k,2842)
         lu(k,2882) = lu(k,2882) - lu(k,1622) * lu(k,2842)
         lu(k,2884) = lu(k,2884) - lu(k,1623) * lu(k,2842)
         lu(k,2889) = lu(k,2889) - lu(k,1624) * lu(k,2842)
         lu(k,2891) = lu(k,2891) - lu(k,1625) * lu(k,2842)
         lu(k,2894) = lu(k,2894) - lu(k,1626) * lu(k,2842)
         lu(k,2895) = lu(k,2895) - lu(k,1627) * lu(k,2842)
         lu(k,2955) = lu(k,2955) - lu(k,1621) * lu(k,2944)
         lu(k,2983) = lu(k,2983) - lu(k,1622) * lu(k,2944)
         lu(k,2985) = lu(k,2985) - lu(k,1623) * lu(k,2944)
         lu(k,2990) = lu(k,2990) - lu(k,1624) * lu(k,2944)
         lu(k,2992) = lu(k,2992) - lu(k,1625) * lu(k,2944)
         lu(k,2995) = lu(k,2995) - lu(k,1626) * lu(k,2944)
         lu(k,2996) = lu(k,2996) - lu(k,1627) * lu(k,2944)
         lu(k,3249) = lu(k,3249) - lu(k,1621) * lu(k,3238)
         lu(k,3278) = lu(k,3278) - lu(k,1622) * lu(k,3238)
         lu(k,3280) = lu(k,3280) - lu(k,1623) * lu(k,3238)
         lu(k,3285) = lu(k,3285) - lu(k,1624) * lu(k,3238)
         lu(k,3287) = lu(k,3287) - lu(k,1625) * lu(k,3238)
         lu(k,3290) = lu(k,3290) - lu(k,1626) * lu(k,3238)
         lu(k,3291) = lu(k,3291) - lu(k,1627) * lu(k,3238)
         lu(k,3390) = lu(k,3390) - lu(k,1621) * lu(k,3380)
         lu(k,3419) = lu(k,3419) - lu(k,1622) * lu(k,3380)
         lu(k,3421) = lu(k,3421) - lu(k,1623) * lu(k,3380)
         lu(k,3426) = lu(k,3426) - lu(k,1624) * lu(k,3380)
         lu(k,3428) = lu(k,3428) - lu(k,1625) * lu(k,3380)
         lu(k,3431) = lu(k,3431) - lu(k,1626) * lu(k,3380)
         lu(k,3432) = lu(k,3432) - lu(k,1627) * lu(k,3380)
         lu(k,3711) = lu(k,3711) - lu(k,1621) * lu(k,3700)
         lu(k,3739) = lu(k,3739) - lu(k,1622) * lu(k,3700)
         lu(k,3741) = lu(k,3741) - lu(k,1623) * lu(k,3700)
         lu(k,3746) = lu(k,3746) - lu(k,1624) * lu(k,3700)
         lu(k,3748) = lu(k,3748) - lu(k,1625) * lu(k,3700)
         lu(k,3751) = lu(k,3751) - lu(k,1626) * lu(k,3700)
         lu(k,3752) = lu(k,3752) - lu(k,1627) * lu(k,3700)
      end do
      end subroutine lu_fac36
      subroutine lu_fac37( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,1635) = 1._r8 / lu(k,1635)
         lu(k,1636) = lu(k,1636) * lu(k,1635)
         lu(k,1637) = lu(k,1637) * lu(k,1635)
         lu(k,1638) = lu(k,1638) * lu(k,1635)
         lu(k,1639) = lu(k,1639) * lu(k,1635)
         lu(k,1640) = lu(k,1640) * lu(k,1635)
         lu(k,1641) = lu(k,1641) * lu(k,1635)
         lu(k,1642) = lu(k,1642) * lu(k,1635)
         lu(k,1643) = lu(k,1643) * lu(k,1635)
         lu(k,1701) = - lu(k,1636) * lu(k,1699)
         lu(k,1702) = lu(k,1702) - lu(k,1637) * lu(k,1699)
         lu(k,1703) = lu(k,1703) - lu(k,1638) * lu(k,1699)
         lu(k,1704) = lu(k,1704) - lu(k,1639) * lu(k,1699)
         lu(k,1706) = lu(k,1706) - lu(k,1640) * lu(k,1699)
         lu(k,1707) = lu(k,1707) - lu(k,1641) * lu(k,1699)
         lu(k,1708) = lu(k,1708) - lu(k,1642) * lu(k,1699)
         lu(k,1709) = lu(k,1709) - lu(k,1643) * lu(k,1699)
         lu(k,1731) = lu(k,1731) - lu(k,1636) * lu(k,1726)
         lu(k,1732) = lu(k,1732) - lu(k,1637) * lu(k,1726)
         lu(k,1736) = lu(k,1736) - lu(k,1638) * lu(k,1726)
         lu(k,1738) = lu(k,1738) - lu(k,1639) * lu(k,1726)
         lu(k,1740) = lu(k,1740) - lu(k,1640) * lu(k,1726)
         lu(k,1741) = lu(k,1741) - lu(k,1641) * lu(k,1726)
         lu(k,1743) = lu(k,1743) - lu(k,1642) * lu(k,1726)
         lu(k,1744) = lu(k,1744) - lu(k,1643) * lu(k,1726)
         lu(k,1828) = lu(k,1828) - lu(k,1636) * lu(k,1825)
         lu(k,1830) = lu(k,1830) - lu(k,1637) * lu(k,1825)
         lu(k,1834) = lu(k,1834) - lu(k,1638) * lu(k,1825)
         lu(k,1836) = lu(k,1836) - lu(k,1639) * lu(k,1825)
         lu(k,1838) = lu(k,1838) - lu(k,1640) * lu(k,1825)
         lu(k,1839) = lu(k,1839) - lu(k,1641) * lu(k,1825)
         lu(k,1841) = lu(k,1841) - lu(k,1642) * lu(k,1825)
         lu(k,1842) = lu(k,1842) - lu(k,1643) * lu(k,1825)
         lu(k,1892) = - lu(k,1636) * lu(k,1888)
         lu(k,1894) = lu(k,1894) - lu(k,1637) * lu(k,1888)
         lu(k,1900) = lu(k,1900) - lu(k,1638) * lu(k,1888)
         lu(k,1902) = lu(k,1902) - lu(k,1639) * lu(k,1888)
         lu(k,1906) = lu(k,1906) - lu(k,1640) * lu(k,1888)
         lu(k,1907) = lu(k,1907) - lu(k,1641) * lu(k,1888)
         lu(k,1909) = lu(k,1909) - lu(k,1642) * lu(k,1888)
         lu(k,1910) = lu(k,1910) - lu(k,1643) * lu(k,1888)
         lu(k,1928) = lu(k,1928) - lu(k,1636) * lu(k,1926)
         lu(k,1929) = lu(k,1929) - lu(k,1637) * lu(k,1926)
         lu(k,1932) = lu(k,1932) - lu(k,1638) * lu(k,1926)
         lu(k,1934) = lu(k,1934) - lu(k,1639) * lu(k,1926)
         lu(k,1938) = lu(k,1938) - lu(k,1640) * lu(k,1926)
         lu(k,1939) = lu(k,1939) - lu(k,1641) * lu(k,1926)
         lu(k,1941) = lu(k,1941) - lu(k,1642) * lu(k,1926)
         lu(k,1942) = lu(k,1942) - lu(k,1643) * lu(k,1926)
         lu(k,1962) = lu(k,1962) - lu(k,1636) * lu(k,1960)
         lu(k,1963) = lu(k,1963) - lu(k,1637) * lu(k,1960)
         lu(k,1966) = lu(k,1966) - lu(k,1638) * lu(k,1960)
         lu(k,1968) = lu(k,1968) - lu(k,1639) * lu(k,1960)
         lu(k,1972) = lu(k,1972) - lu(k,1640) * lu(k,1960)
         lu(k,1973) = lu(k,1973) - lu(k,1641) * lu(k,1960)
         lu(k,1975) = lu(k,1975) - lu(k,1642) * lu(k,1960)
         lu(k,1976) = lu(k,1976) - lu(k,1643) * lu(k,1960)
         lu(k,1991) = lu(k,1991) - lu(k,1636) * lu(k,1989)
         lu(k,1992) = lu(k,1992) - lu(k,1637) * lu(k,1989)
         lu(k,1994) = lu(k,1994) - lu(k,1638) * lu(k,1989)
         lu(k,1996) = lu(k,1996) - lu(k,1639) * lu(k,1989)
         lu(k,2000) = lu(k,2000) - lu(k,1640) * lu(k,1989)
         lu(k,2001) = lu(k,2001) - lu(k,1641) * lu(k,1989)
         lu(k,2003) = lu(k,2003) - lu(k,1642) * lu(k,1989)
         lu(k,2004) = lu(k,2004) - lu(k,1643) * lu(k,1989)
         lu(k,2028) = lu(k,2028) - lu(k,1636) * lu(k,2026)
         lu(k,2029) = lu(k,2029) - lu(k,1637) * lu(k,2026)
         lu(k,2036) = lu(k,2036) - lu(k,1638) * lu(k,2026)
         lu(k,2038) = lu(k,2038) - lu(k,1639) * lu(k,2026)
         lu(k,2042) = lu(k,2042) - lu(k,1640) * lu(k,2026)
         lu(k,2043) = lu(k,2043) - lu(k,1641) * lu(k,2026)
         lu(k,2046) = lu(k,2046) - lu(k,1642) * lu(k,2026)
         lu(k,2047) = lu(k,2047) - lu(k,1643) * lu(k,2026)
         lu(k,2851) = lu(k,2851) - lu(k,1636) * lu(k,2843)
         lu(k,2853) = lu(k,2853) - lu(k,1637) * lu(k,2843)
         lu(k,2882) = lu(k,2882) - lu(k,1638) * lu(k,2843)
         lu(k,2884) = lu(k,2884) - lu(k,1639) * lu(k,2843)
         lu(k,2889) = lu(k,2889) - lu(k,1640) * lu(k,2843)
         lu(k,2891) = lu(k,2891) - lu(k,1641) * lu(k,2843)
         lu(k,2894) = lu(k,2894) - lu(k,1642) * lu(k,2843)
         lu(k,2895) = lu(k,2895) - lu(k,1643) * lu(k,2843)
         lu(k,2953) = lu(k,2953) - lu(k,1636) * lu(k,2945)
         lu(k,2955) = lu(k,2955) - lu(k,1637) * lu(k,2945)
         lu(k,2983) = lu(k,2983) - lu(k,1638) * lu(k,2945)
         lu(k,2985) = lu(k,2985) - lu(k,1639) * lu(k,2945)
         lu(k,2990) = lu(k,2990) - lu(k,1640) * lu(k,2945)
         lu(k,2992) = lu(k,2992) - lu(k,1641) * lu(k,2945)
         lu(k,2995) = lu(k,2995) - lu(k,1642) * lu(k,2945)
         lu(k,2996) = lu(k,2996) - lu(k,1643) * lu(k,2945)
         lu(k,3247) = lu(k,3247) - lu(k,1636) * lu(k,3239)
         lu(k,3249) = lu(k,3249) - lu(k,1637) * lu(k,3239)
         lu(k,3278) = lu(k,3278) - lu(k,1638) * lu(k,3239)
         lu(k,3280) = lu(k,3280) - lu(k,1639) * lu(k,3239)
         lu(k,3285) = lu(k,3285) - lu(k,1640) * lu(k,3239)
         lu(k,3287) = lu(k,3287) - lu(k,1641) * lu(k,3239)
         lu(k,3290) = lu(k,3290) - lu(k,1642) * lu(k,3239)
         lu(k,3291) = lu(k,3291) - lu(k,1643) * lu(k,3239)
         lu(k,3388) = lu(k,3388) - lu(k,1636) * lu(k,3381)
         lu(k,3390) = lu(k,3390) - lu(k,1637) * lu(k,3381)
         lu(k,3419) = lu(k,3419) - lu(k,1638) * lu(k,3381)
         lu(k,3421) = lu(k,3421) - lu(k,1639) * lu(k,3381)
         lu(k,3426) = lu(k,3426) - lu(k,1640) * lu(k,3381)
         lu(k,3428) = lu(k,3428) - lu(k,1641) * lu(k,3381)
         lu(k,3431) = lu(k,3431) - lu(k,1642) * lu(k,3381)
         lu(k,3432) = lu(k,3432) - lu(k,1643) * lu(k,3381)
         lu(k,3709) = lu(k,3709) - lu(k,1636) * lu(k,3701)
         lu(k,3711) = lu(k,3711) - lu(k,1637) * lu(k,3701)
         lu(k,3739) = lu(k,3739) - lu(k,1638) * lu(k,3701)
         lu(k,3741) = lu(k,3741) - lu(k,1639) * lu(k,3701)
         lu(k,3746) = lu(k,3746) - lu(k,1640) * lu(k,3701)
         lu(k,3748) = lu(k,3748) - lu(k,1641) * lu(k,3701)
         lu(k,3751) = lu(k,3751) - lu(k,1642) * lu(k,3701)
         lu(k,3752) = lu(k,3752) - lu(k,1643) * lu(k,3701)
         lu(k,1645) = 1._r8 / lu(k,1645)
         lu(k,1646) = lu(k,1646) * lu(k,1645)
         lu(k,1647) = lu(k,1647) * lu(k,1645)
         lu(k,1648) = lu(k,1648) * lu(k,1645)
         lu(k,1649) = lu(k,1649) * lu(k,1645)
         lu(k,1650) = lu(k,1650) * lu(k,1645)
         lu(k,1651) = lu(k,1651) * lu(k,1645)
         lu(k,1652) = lu(k,1652) * lu(k,1645)
         lu(k,2076) = lu(k,2076) - lu(k,1646) * lu(k,2071)
         lu(k,2079) = lu(k,2079) - lu(k,1647) * lu(k,2071)
         lu(k,2082) = lu(k,2082) - lu(k,1648) * lu(k,2071)
         lu(k,2083) = - lu(k,1649) * lu(k,2071)
         lu(k,2085) = lu(k,2085) - lu(k,1650) * lu(k,2071)
         lu(k,2086) = lu(k,2086) - lu(k,1651) * lu(k,2071)
         lu(k,2090) = lu(k,2090) - lu(k,1652) * lu(k,2071)
         lu(k,2182) = - lu(k,1646) * lu(k,2178)
         lu(k,2183) = - lu(k,1647) * lu(k,2178)
         lu(k,2184) = - lu(k,1648) * lu(k,2178)
         lu(k,2185) = - lu(k,1649) * lu(k,2178)
         lu(k,2187) = - lu(k,1650) * lu(k,2178)
         lu(k,2188) = lu(k,2188) - lu(k,1651) * lu(k,2178)
         lu(k,2191) = lu(k,2191) - lu(k,1652) * lu(k,2178)
         lu(k,2217) = lu(k,2217) - lu(k,1646) * lu(k,2210)
         lu(k,2220) = lu(k,2220) - lu(k,1647) * lu(k,2210)
         lu(k,2223) = lu(k,2223) - lu(k,1648) * lu(k,2210)
         lu(k,2224) = - lu(k,1649) * lu(k,2210)
         lu(k,2226) = lu(k,2226) - lu(k,1650) * lu(k,2210)
         lu(k,2227) = lu(k,2227) - lu(k,1651) * lu(k,2210)
         lu(k,2231) = lu(k,2231) - lu(k,1652) * lu(k,2210)
         lu(k,2246) = lu(k,2246) - lu(k,1646) * lu(k,2239)
         lu(k,2249) = lu(k,2249) - lu(k,1647) * lu(k,2239)
         lu(k,2252) = lu(k,2252) - lu(k,1648) * lu(k,2239)
         lu(k,2253) = - lu(k,1649) * lu(k,2239)
         lu(k,2255) = lu(k,2255) - lu(k,1650) * lu(k,2239)
         lu(k,2256) = lu(k,2256) - lu(k,1651) * lu(k,2239)
         lu(k,2260) = lu(k,2260) - lu(k,1652) * lu(k,2239)
         lu(k,2334) = lu(k,2334) - lu(k,1646) * lu(k,2330)
         lu(k,2337) = lu(k,2337) - lu(k,1647) * lu(k,2330)
         lu(k,2340) = lu(k,2340) - lu(k,1648) * lu(k,2330)
         lu(k,2341) = - lu(k,1649) * lu(k,2330)
         lu(k,2343) = lu(k,2343) - lu(k,1650) * lu(k,2330)
         lu(k,2344) = lu(k,2344) - lu(k,1651) * lu(k,2330)
         lu(k,2348) = lu(k,2348) - lu(k,1652) * lu(k,2330)
         lu(k,2422) = - lu(k,1646) * lu(k,2418)
         lu(k,2424) = lu(k,2424) - lu(k,1647) * lu(k,2418)
         lu(k,2426) = - lu(k,1648) * lu(k,2418)
         lu(k,2427) = - lu(k,1649) * lu(k,2418)
         lu(k,2430) = lu(k,2430) - lu(k,1650) * lu(k,2418)
         lu(k,2431) = lu(k,2431) - lu(k,1651) * lu(k,2418)
         lu(k,2435) = lu(k,2435) - lu(k,1652) * lu(k,2418)
         lu(k,2467) = lu(k,2467) - lu(k,1646) * lu(k,2464)
         lu(k,2470) = lu(k,2470) - lu(k,1647) * lu(k,2464)
         lu(k,2473) = - lu(k,1648) * lu(k,2464)
         lu(k,2474) = lu(k,2474) - lu(k,1649) * lu(k,2464)
         lu(k,2476) = lu(k,2476) - lu(k,1650) * lu(k,2464)
         lu(k,2477) = lu(k,2477) - lu(k,1651) * lu(k,2464)
         lu(k,2481) = lu(k,2481) - lu(k,1652) * lu(k,2464)
         lu(k,2530) = lu(k,2530) - lu(k,1646) * lu(k,2512)
         lu(k,2533) = lu(k,2533) - lu(k,1647) * lu(k,2512)
         lu(k,2536) = lu(k,2536) - lu(k,1648) * lu(k,2512)
         lu(k,2537) = lu(k,2537) - lu(k,1649) * lu(k,2512)
         lu(k,2540) = lu(k,2540) - lu(k,1650) * lu(k,2512)
         lu(k,2541) = lu(k,2541) - lu(k,1651) * lu(k,2512)
         lu(k,2546) = lu(k,2546) - lu(k,1652) * lu(k,2512)
         lu(k,2576) = lu(k,2576) - lu(k,1646) * lu(k,2558)
         lu(k,2579) = lu(k,2579) - lu(k,1647) * lu(k,2558)
         lu(k,2582) = lu(k,2582) - lu(k,1648) * lu(k,2558)
         lu(k,2583) = lu(k,2583) - lu(k,1649) * lu(k,2558)
         lu(k,2586) = lu(k,2586) - lu(k,1650) * lu(k,2558)
         lu(k,2587) = lu(k,2587) - lu(k,1651) * lu(k,2558)
         lu(k,2592) = lu(k,2592) - lu(k,1652) * lu(k,2558)
         lu(k,2623) = lu(k,2623) - lu(k,1646) * lu(k,2605)
         lu(k,2626) = lu(k,2626) - lu(k,1647) * lu(k,2605)
         lu(k,2629) = lu(k,2629) - lu(k,1648) * lu(k,2605)
         lu(k,2630) = lu(k,2630) - lu(k,1649) * lu(k,2605)
         lu(k,2633) = lu(k,2633) - lu(k,1650) * lu(k,2605)
         lu(k,2634) = lu(k,2634) - lu(k,1651) * lu(k,2605)
         lu(k,2639) = lu(k,2639) - lu(k,1652) * lu(k,2605)
         lu(k,2694) = lu(k,2694) - lu(k,1646) * lu(k,2662)
         lu(k,2697) = lu(k,2697) - lu(k,1647) * lu(k,2662)
         lu(k,2700) = lu(k,2700) - lu(k,1648) * lu(k,2662)
         lu(k,2701) = lu(k,2701) - lu(k,1649) * lu(k,2662)
         lu(k,2704) = lu(k,2704) - lu(k,1650) * lu(k,2662)
         lu(k,2705) = lu(k,2705) - lu(k,1651) * lu(k,2662)
         lu(k,2710) = lu(k,2710) - lu(k,1652) * lu(k,2662)
         lu(k,2877) = lu(k,2877) - lu(k,1646) * lu(k,2844)
         lu(k,2880) = lu(k,2880) - lu(k,1647) * lu(k,2844)
         lu(k,2883) = lu(k,2883) - lu(k,1648) * lu(k,2844)
         lu(k,2884) = lu(k,2884) - lu(k,1649) * lu(k,2844)
         lu(k,2887) = lu(k,2887) - lu(k,1650) * lu(k,2844)
         lu(k,2889) = lu(k,2889) - lu(k,1651) * lu(k,2844)
         lu(k,2895) = lu(k,2895) - lu(k,1652) * lu(k,2844)
         lu(k,2978) = - lu(k,1646) * lu(k,2946)
         lu(k,2981) = lu(k,2981) - lu(k,1647) * lu(k,2946)
         lu(k,2984) = lu(k,2984) - lu(k,1648) * lu(k,2946)
         lu(k,2985) = lu(k,2985) - lu(k,1649) * lu(k,2946)
         lu(k,2988) = lu(k,2988) - lu(k,1650) * lu(k,2946)
         lu(k,2990) = lu(k,2990) - lu(k,1651) * lu(k,2946)
         lu(k,2996) = lu(k,2996) - lu(k,1652) * lu(k,2946)
         lu(k,3070) = lu(k,3070) - lu(k,1646) * lu(k,3037)
         lu(k,3073) = lu(k,3073) - lu(k,1647) * lu(k,3037)
         lu(k,3076) = lu(k,3076) - lu(k,1648) * lu(k,3037)
         lu(k,3077) = lu(k,3077) - lu(k,1649) * lu(k,3037)
         lu(k,3080) = lu(k,3080) - lu(k,1650) * lu(k,3037)
         lu(k,3082) = lu(k,3082) - lu(k,1651) * lu(k,3037)
         lu(k,3088) = lu(k,3088) - lu(k,1652) * lu(k,3037)
         lu(k,3273) = lu(k,3273) - lu(k,1646) * lu(k,3240)
         lu(k,3276) = lu(k,3276) - lu(k,1647) * lu(k,3240)
         lu(k,3279) = lu(k,3279) - lu(k,1648) * lu(k,3240)
         lu(k,3280) = lu(k,3280) - lu(k,1649) * lu(k,3240)
         lu(k,3283) = lu(k,3283) - lu(k,1650) * lu(k,3240)
         lu(k,3285) = lu(k,3285) - lu(k,1651) * lu(k,3240)
         lu(k,3291) = lu(k,3291) - lu(k,1652) * lu(k,3240)
         lu(k,3414) = lu(k,3414) - lu(k,1646) * lu(k,3382)
         lu(k,3417) = lu(k,3417) - lu(k,1647) * lu(k,3382)
         lu(k,3420) = lu(k,3420) - lu(k,1648) * lu(k,3382)
         lu(k,3421) = lu(k,3421) - lu(k,1649) * lu(k,3382)
         lu(k,3424) = lu(k,3424) - lu(k,1650) * lu(k,3382)
         lu(k,3426) = lu(k,3426) - lu(k,1651) * lu(k,3382)
         lu(k,3432) = lu(k,3432) - lu(k,1652) * lu(k,3382)
         lu(k,3734) = lu(k,3734) - lu(k,1646) * lu(k,3702)
         lu(k,3737) = lu(k,3737) - lu(k,1647) * lu(k,3702)
         lu(k,3740) = lu(k,3740) - lu(k,1648) * lu(k,3702)
         lu(k,3741) = lu(k,3741) - lu(k,1649) * lu(k,3702)
         lu(k,3744) = lu(k,3744) - lu(k,1650) * lu(k,3702)
         lu(k,3746) = lu(k,3746) - lu(k,1651) * lu(k,3702)
         lu(k,3752) = lu(k,3752) - lu(k,1652) * lu(k,3702)
         lu(k,1667) = 1._r8 / lu(k,1667)
         lu(k,1668) = lu(k,1668) * lu(k,1667)
         lu(k,1669) = lu(k,1669) * lu(k,1667)
         lu(k,1670) = lu(k,1670) * lu(k,1667)
         lu(k,1671) = lu(k,1671) * lu(k,1667)
         lu(k,1672) = lu(k,1672) * lu(k,1667)
         lu(k,1673) = lu(k,1673) * lu(k,1667)
         lu(k,1674) = lu(k,1674) * lu(k,1667)
         lu(k,1675) = lu(k,1675) * lu(k,1667)
         lu(k,1676) = lu(k,1676) * lu(k,1667)
         lu(k,1677) = lu(k,1677) * lu(k,1667)
         lu(k,1678) = lu(k,1678) * lu(k,1667)
         lu(k,1679) = lu(k,1679) * lu(k,1667)
         lu(k,1680) = lu(k,1680) * lu(k,1667)
         lu(k,1681) = lu(k,1681) * lu(k,1667)
         lu(k,1682) = lu(k,1682) * lu(k,1667)
         lu(k,1728) = lu(k,1728) - lu(k,1668) * lu(k,1727)
         lu(k,1729) = lu(k,1729) - lu(k,1669) * lu(k,1727)
         lu(k,1730) = lu(k,1730) - lu(k,1670) * lu(k,1727)
         lu(k,1732) = lu(k,1732) - lu(k,1671) * lu(k,1727)
         lu(k,1733) = lu(k,1733) - lu(k,1672) * lu(k,1727)
         lu(k,1734) = lu(k,1734) - lu(k,1673) * lu(k,1727)
         lu(k,1735) = - lu(k,1674) * lu(k,1727)
         lu(k,1736) = lu(k,1736) - lu(k,1675) * lu(k,1727)
         lu(k,1738) = lu(k,1738) - lu(k,1676) * lu(k,1727)
         lu(k,1739) = lu(k,1739) - lu(k,1677) * lu(k,1727)
         lu(k,1740) = lu(k,1740) - lu(k,1678) * lu(k,1727)
         lu(k,1741) = lu(k,1741) - lu(k,1679) * lu(k,1727)
         lu(k,1742) = lu(k,1742) - lu(k,1680) * lu(k,1727)
         lu(k,1743) = lu(k,1743) - lu(k,1681) * lu(k,1727)
         lu(k,1744) = lu(k,1744) - lu(k,1682) * lu(k,1727)
         lu(k,2664) = lu(k,2664) - lu(k,1668) * lu(k,2663)
         lu(k,2665) = lu(k,2665) - lu(k,1669) * lu(k,2663)
         lu(k,2666) = lu(k,2666) - lu(k,1670) * lu(k,2663)
         lu(k,2670) = lu(k,2670) - lu(k,1671) * lu(k,2663)
         lu(k,2672) = lu(k,2672) - lu(k,1672) * lu(k,2663)
         lu(k,2673) = lu(k,2673) - lu(k,1673) * lu(k,2663)
         lu(k,2681) = lu(k,2681) - lu(k,1674) * lu(k,2663)
         lu(k,2699) = lu(k,2699) - lu(k,1675) * lu(k,2663)
         lu(k,2701) = lu(k,2701) - lu(k,1676) * lu(k,2663)
         lu(k,2702) = lu(k,2702) - lu(k,1677) * lu(k,2663)
         lu(k,2705) = lu(k,2705) - lu(k,1678) * lu(k,2663)
         lu(k,2706) = lu(k,2706) - lu(k,1679) * lu(k,2663)
         lu(k,2707) = lu(k,2707) - lu(k,1680) * lu(k,2663)
         lu(k,2709) = lu(k,2709) - lu(k,1681) * lu(k,2663)
         lu(k,2710) = lu(k,2710) - lu(k,1682) * lu(k,2663)
         lu(k,2847) = lu(k,2847) - lu(k,1668) * lu(k,2845)
         lu(k,2848) = lu(k,2848) - lu(k,1669) * lu(k,2845)
         lu(k,2849) = lu(k,2849) - lu(k,1670) * lu(k,2845)
         lu(k,2853) = lu(k,2853) - lu(k,1671) * lu(k,2845)
         lu(k,2855) = lu(k,2855) - lu(k,1672) * lu(k,2845)
         lu(k,2856) = lu(k,2856) - lu(k,1673) * lu(k,2845)
         lu(k,2864) = lu(k,2864) - lu(k,1674) * lu(k,2845)
         lu(k,2882) = lu(k,2882) - lu(k,1675) * lu(k,2845)
         lu(k,2884) = lu(k,2884) - lu(k,1676) * lu(k,2845)
         lu(k,2885) = lu(k,2885) - lu(k,1677) * lu(k,2845)
         lu(k,2889) = lu(k,2889) - lu(k,1678) * lu(k,2845)
         lu(k,2891) = lu(k,2891) - lu(k,1679) * lu(k,2845)
         lu(k,2892) = lu(k,2892) - lu(k,1680) * lu(k,2845)
         lu(k,2894) = lu(k,2894) - lu(k,1681) * lu(k,2845)
         lu(k,2895) = lu(k,2895) - lu(k,1682) * lu(k,2845)
         lu(k,2949) = lu(k,2949) - lu(k,1668) * lu(k,2947)
         lu(k,2950) = lu(k,2950) - lu(k,1669) * lu(k,2947)
         lu(k,2951) = lu(k,2951) - lu(k,1670) * lu(k,2947)
         lu(k,2955) = lu(k,2955) - lu(k,1671) * lu(k,2947)
         lu(k,2957) = lu(k,2957) - lu(k,1672) * lu(k,2947)
         lu(k,2958) = lu(k,2958) - lu(k,1673) * lu(k,2947)
         lu(k,2965) = lu(k,2965) - lu(k,1674) * lu(k,2947)
         lu(k,2983) = lu(k,2983) - lu(k,1675) * lu(k,2947)
         lu(k,2985) = lu(k,2985) - lu(k,1676) * lu(k,2947)
         lu(k,2986) = lu(k,2986) - lu(k,1677) * lu(k,2947)
         lu(k,2990) = lu(k,2990) - lu(k,1678) * lu(k,2947)
         lu(k,2992) = lu(k,2992) - lu(k,1679) * lu(k,2947)
         lu(k,2993) = lu(k,2993) - lu(k,1680) * lu(k,2947)
         lu(k,2995) = lu(k,2995) - lu(k,1681) * lu(k,2947)
         lu(k,2996) = lu(k,2996) - lu(k,1682) * lu(k,2947)
         lu(k,3040) = lu(k,3040) - lu(k,1668) * lu(k,3038)
         lu(k,3041) = lu(k,3041) - lu(k,1669) * lu(k,3038)
         lu(k,3042) = lu(k,3042) - lu(k,1670) * lu(k,3038)
         lu(k,3046) = lu(k,3046) - lu(k,1671) * lu(k,3038)
         lu(k,3048) = lu(k,3048) - lu(k,1672) * lu(k,3038)
         lu(k,3049) = lu(k,3049) - lu(k,1673) * lu(k,3038)
         lu(k,3057) = lu(k,3057) - lu(k,1674) * lu(k,3038)
         lu(k,3075) = lu(k,3075) - lu(k,1675) * lu(k,3038)
         lu(k,3077) = lu(k,3077) - lu(k,1676) * lu(k,3038)
         lu(k,3078) = lu(k,3078) - lu(k,1677) * lu(k,3038)
         lu(k,3082) = lu(k,3082) - lu(k,1678) * lu(k,3038)
         lu(k,3084) = lu(k,3084) - lu(k,1679) * lu(k,3038)
         lu(k,3085) = lu(k,3085) - lu(k,1680) * lu(k,3038)
         lu(k,3087) = lu(k,3087) - lu(k,1681) * lu(k,3038)
         lu(k,3088) = lu(k,3088) - lu(k,1682) * lu(k,3038)
         lu(k,3243) = lu(k,3243) - lu(k,1668) * lu(k,3241)
         lu(k,3244) = lu(k,3244) - lu(k,1669) * lu(k,3241)
         lu(k,3245) = lu(k,3245) - lu(k,1670) * lu(k,3241)
         lu(k,3249) = lu(k,3249) - lu(k,1671) * lu(k,3241)
         lu(k,3251) = lu(k,3251) - lu(k,1672) * lu(k,3241)
         lu(k,3252) = lu(k,3252) - lu(k,1673) * lu(k,3241)
         lu(k,3260) = lu(k,3260) - lu(k,1674) * lu(k,3241)
         lu(k,3278) = lu(k,3278) - lu(k,1675) * lu(k,3241)
         lu(k,3280) = lu(k,3280) - lu(k,1676) * lu(k,3241)
         lu(k,3281) = lu(k,3281) - lu(k,1677) * lu(k,3241)
         lu(k,3285) = lu(k,3285) - lu(k,1678) * lu(k,3241)
         lu(k,3287) = lu(k,3287) - lu(k,1679) * lu(k,3241)
         lu(k,3288) = lu(k,3288) - lu(k,1680) * lu(k,3241)
         lu(k,3290) = lu(k,3290) - lu(k,1681) * lu(k,3241)
         lu(k,3291) = lu(k,3291) - lu(k,1682) * lu(k,3241)
         lu(k,3384) = lu(k,3384) - lu(k,1668) * lu(k,3383)
         lu(k,3385) = lu(k,3385) - lu(k,1669) * lu(k,3383)
         lu(k,3386) = lu(k,3386) - lu(k,1670) * lu(k,3383)
         lu(k,3390) = lu(k,3390) - lu(k,1671) * lu(k,3383)
         lu(k,3392) = lu(k,3392) - lu(k,1672) * lu(k,3383)
         lu(k,3393) = lu(k,3393) - lu(k,1673) * lu(k,3383)
         lu(k,3401) = lu(k,3401) - lu(k,1674) * lu(k,3383)
         lu(k,3419) = lu(k,3419) - lu(k,1675) * lu(k,3383)
         lu(k,3421) = lu(k,3421) - lu(k,1676) * lu(k,3383)
         lu(k,3422) = lu(k,3422) - lu(k,1677) * lu(k,3383)
         lu(k,3426) = lu(k,3426) - lu(k,1678) * lu(k,3383)
         lu(k,3428) = lu(k,3428) - lu(k,1679) * lu(k,3383)
         lu(k,3429) = lu(k,3429) - lu(k,1680) * lu(k,3383)
         lu(k,3431) = lu(k,3431) - lu(k,1681) * lu(k,3383)
         lu(k,3432) = lu(k,3432) - lu(k,1682) * lu(k,3383)
         lu(k,3705) = lu(k,3705) - lu(k,1668) * lu(k,3703)
         lu(k,3706) = lu(k,3706) - lu(k,1669) * lu(k,3703)
         lu(k,3707) = lu(k,3707) - lu(k,1670) * lu(k,3703)
         lu(k,3711) = lu(k,3711) - lu(k,1671) * lu(k,3703)
         lu(k,3713) = lu(k,3713) - lu(k,1672) * lu(k,3703)
         lu(k,3714) = lu(k,3714) - lu(k,1673) * lu(k,3703)
         lu(k,3721) = lu(k,3721) - lu(k,1674) * lu(k,3703)
         lu(k,3739) = lu(k,3739) - lu(k,1675) * lu(k,3703)
         lu(k,3741) = lu(k,3741) - lu(k,1676) * lu(k,3703)
         lu(k,3742) = lu(k,3742) - lu(k,1677) * lu(k,3703)
         lu(k,3746) = lu(k,3746) - lu(k,1678) * lu(k,3703)
         lu(k,3748) = lu(k,3748) - lu(k,1679) * lu(k,3703)
         lu(k,3749) = lu(k,3749) - lu(k,1680) * lu(k,3703)
         lu(k,3751) = lu(k,3751) - lu(k,1681) * lu(k,3703)
         lu(k,3752) = lu(k,3752) - lu(k,1682) * lu(k,3703)
         lu(k,1685) = 1._r8 / lu(k,1685)
         lu(k,1686) = lu(k,1686) * lu(k,1685)
         lu(k,1687) = lu(k,1687) * lu(k,1685)
         lu(k,1688) = lu(k,1688) * lu(k,1685)
         lu(k,1689) = lu(k,1689) * lu(k,1685)
         lu(k,1690) = lu(k,1690) * lu(k,1685)
         lu(k,1691) = lu(k,1691) * lu(k,1685)
         lu(k,1692) = lu(k,1692) * lu(k,1685)
         lu(k,1693) = lu(k,1693) * lu(k,1685)
         lu(k,1694) = lu(k,1694) * lu(k,1685)
         lu(k,2884) = lu(k,2884) - lu(k,1686) * lu(k,2846)
         lu(k,2886) = lu(k,2886) - lu(k,1687) * lu(k,2846)
         lu(k,2888) = - lu(k,1688) * lu(k,2846)
         lu(k,2889) = lu(k,2889) - lu(k,1689) * lu(k,2846)
         lu(k,2891) = lu(k,2891) - lu(k,1690) * lu(k,2846)
         lu(k,2893) = lu(k,2893) - lu(k,1691) * lu(k,2846)
         lu(k,2895) = lu(k,2895) - lu(k,1692) * lu(k,2846)
         lu(k,2897) = lu(k,2897) - lu(k,1693) * lu(k,2846)
         lu(k,2899) = lu(k,2899) - lu(k,1694) * lu(k,2846)
         lu(k,2985) = lu(k,2985) - lu(k,1686) * lu(k,2948)
         lu(k,2987) = lu(k,2987) - lu(k,1687) * lu(k,2948)
         lu(k,2989) = lu(k,2989) - lu(k,1688) * lu(k,2948)
         lu(k,2990) = lu(k,2990) - lu(k,1689) * lu(k,2948)
         lu(k,2992) = lu(k,2992) - lu(k,1690) * lu(k,2948)
         lu(k,2994) = lu(k,2994) - lu(k,1691) * lu(k,2948)
         lu(k,2996) = lu(k,2996) - lu(k,1692) * lu(k,2948)
         lu(k,2998) = lu(k,2998) - lu(k,1693) * lu(k,2948)
         lu(k,3000) = lu(k,3000) - lu(k,1694) * lu(k,2948)
         lu(k,3077) = lu(k,3077) - lu(k,1686) * lu(k,3039)
         lu(k,3079) = lu(k,3079) - lu(k,1687) * lu(k,3039)
         lu(k,3081) = - lu(k,1688) * lu(k,3039)
         lu(k,3082) = lu(k,3082) - lu(k,1689) * lu(k,3039)
         lu(k,3084) = lu(k,3084) - lu(k,1690) * lu(k,3039)
         lu(k,3086) = lu(k,3086) - lu(k,1691) * lu(k,3039)
         lu(k,3088) = lu(k,3088) - lu(k,1692) * lu(k,3039)
         lu(k,3090) = lu(k,3090) - lu(k,1693) * lu(k,3039)
         lu(k,3092) = lu(k,3092) - lu(k,1694) * lu(k,3039)
         lu(k,3101) = lu(k,3101) - lu(k,1686) * lu(k,3099)
         lu(k,3103) = lu(k,3103) - lu(k,1687) * lu(k,3099)
         lu(k,3105) = lu(k,3105) - lu(k,1688) * lu(k,3099)
         lu(k,3106) = lu(k,3106) - lu(k,1689) * lu(k,3099)
         lu(k,3108) = lu(k,3108) - lu(k,1690) * lu(k,3099)
         lu(k,3110) = lu(k,3110) - lu(k,1691) * lu(k,3099)
         lu(k,3112) = lu(k,3112) - lu(k,1692) * lu(k,3099)
         lu(k,3114) = lu(k,3114) - lu(k,1693) * lu(k,3099)
         lu(k,3116) = lu(k,3116) - lu(k,1694) * lu(k,3099)
         lu(k,3280) = lu(k,3280) - lu(k,1686) * lu(k,3242)
         lu(k,3282) = lu(k,3282) - lu(k,1687) * lu(k,3242)
         lu(k,3284) = lu(k,3284) - lu(k,1688) * lu(k,3242)
         lu(k,3285) = lu(k,3285) - lu(k,1689) * lu(k,3242)
         lu(k,3287) = lu(k,3287) - lu(k,1690) * lu(k,3242)
         lu(k,3289) = lu(k,3289) - lu(k,1691) * lu(k,3242)
         lu(k,3291) = lu(k,3291) - lu(k,1692) * lu(k,3242)
         lu(k,3293) = lu(k,3293) - lu(k,1693) * lu(k,3242)
         lu(k,3295) = lu(k,3295) - lu(k,1694) * lu(k,3242)
         lu(k,3306) = lu(k,3306) - lu(k,1686) * lu(k,3304)
         lu(k,3308) = lu(k,3308) - lu(k,1687) * lu(k,3304)
         lu(k,3310) = - lu(k,1688) * lu(k,3304)
         lu(k,3311) = lu(k,3311) - lu(k,1689) * lu(k,3304)
         lu(k,3313) = lu(k,3313) - lu(k,1690) * lu(k,3304)
         lu(k,3315) = lu(k,3315) - lu(k,1691) * lu(k,3304)
         lu(k,3317) = lu(k,3317) - lu(k,1692) * lu(k,3304)
         lu(k,3319) = lu(k,3319) - lu(k,1693) * lu(k,3304)
         lu(k,3321) = lu(k,3321) - lu(k,1694) * lu(k,3304)
         lu(k,3330) = lu(k,3330) - lu(k,1686) * lu(k,3328)
         lu(k,3332) = - lu(k,1687) * lu(k,3328)
         lu(k,3334) = lu(k,3334) - lu(k,1688) * lu(k,3328)
         lu(k,3335) = lu(k,3335) - lu(k,1689) * lu(k,3328)
         lu(k,3337) = lu(k,3337) - lu(k,1690) * lu(k,3328)
         lu(k,3339) = lu(k,3339) - lu(k,1691) * lu(k,3328)
         lu(k,3341) = lu(k,3341) - lu(k,1692) * lu(k,3328)
         lu(k,3343) = lu(k,3343) - lu(k,1693) * lu(k,3328)
         lu(k,3345) = lu(k,3345) - lu(k,1694) * lu(k,3328)
         lu(k,3451) = lu(k,3451) - lu(k,1686) * lu(k,3449)
         lu(k,3453) = lu(k,3453) - lu(k,1687) * lu(k,3449)
         lu(k,3455) = lu(k,3455) - lu(k,1688) * lu(k,3449)
         lu(k,3456) = lu(k,3456) - lu(k,1689) * lu(k,3449)
         lu(k,3458) = lu(k,3458) - lu(k,1690) * lu(k,3449)
         lu(k,3460) = lu(k,3460) - lu(k,1691) * lu(k,3449)
         lu(k,3462) = lu(k,3462) - lu(k,1692) * lu(k,3449)
         lu(k,3464) = lu(k,3464) - lu(k,1693) * lu(k,3449)
         lu(k,3466) = lu(k,3466) - lu(k,1694) * lu(k,3449)
         lu(k,3501) = lu(k,3501) - lu(k,1686) * lu(k,3492)
         lu(k,3503) = lu(k,3503) - lu(k,1687) * lu(k,3492)
         lu(k,3505) = - lu(k,1688) * lu(k,3492)
         lu(k,3506) = lu(k,3506) - lu(k,1689) * lu(k,3492)
         lu(k,3508) = lu(k,3508) - lu(k,1690) * lu(k,3492)
         lu(k,3510) = lu(k,3510) - lu(k,1691) * lu(k,3492)
         lu(k,3512) = lu(k,3512) - lu(k,1692) * lu(k,3492)
         lu(k,3514) = lu(k,3514) - lu(k,1693) * lu(k,3492)
         lu(k,3516) = lu(k,3516) - lu(k,1694) * lu(k,3492)
         lu(k,3741) = lu(k,3741) - lu(k,1686) * lu(k,3704)
         lu(k,3743) = lu(k,3743) - lu(k,1687) * lu(k,3704)
         lu(k,3745) = lu(k,3745) - lu(k,1688) * lu(k,3704)
         lu(k,3746) = lu(k,3746) - lu(k,1689) * lu(k,3704)
         lu(k,3748) = lu(k,3748) - lu(k,1690) * lu(k,3704)
         lu(k,3750) = lu(k,3750) - lu(k,1691) * lu(k,3704)
         lu(k,3752) = lu(k,3752) - lu(k,1692) * lu(k,3704)
         lu(k,3754) = lu(k,3754) - lu(k,1693) * lu(k,3704)
         lu(k,3756) = lu(k,3756) - lu(k,1694) * lu(k,3704)
         lu(k,3764) = lu(k,3764) - lu(k,1686) * lu(k,3762)
         lu(k,3765) = - lu(k,1687) * lu(k,3762)
         lu(k,3767) = lu(k,3767) - lu(k,1688) * lu(k,3762)
         lu(k,3768) = - lu(k,1689) * lu(k,3762)
         lu(k,3770) = - lu(k,1690) * lu(k,3762)
         lu(k,3772) = lu(k,3772) - lu(k,1691) * lu(k,3762)
         lu(k,3774) = lu(k,3774) - lu(k,1692) * lu(k,3762)
         lu(k,3776) = lu(k,3776) - lu(k,1693) * lu(k,3762)
         lu(k,3778) = lu(k,3778) - lu(k,1694) * lu(k,3762)
         lu(k,3787) = lu(k,3787) - lu(k,1686) * lu(k,3785)
         lu(k,3789) = lu(k,3789) - lu(k,1687) * lu(k,3785)
         lu(k,3791) = - lu(k,1688) * lu(k,3785)
         lu(k,3792) = lu(k,3792) - lu(k,1689) * lu(k,3785)
         lu(k,3794) = - lu(k,1690) * lu(k,3785)
         lu(k,3796) = lu(k,3796) - lu(k,1691) * lu(k,3785)
         lu(k,3798) = lu(k,3798) - lu(k,1692) * lu(k,3785)
         lu(k,3800) = lu(k,3800) - lu(k,1693) * lu(k,3785)
         lu(k,3802) = lu(k,3802) - lu(k,1694) * lu(k,3785)
         lu(k,3822) = lu(k,3822) - lu(k,1686) * lu(k,3819)
         lu(k,3824) = lu(k,3824) - lu(k,1687) * lu(k,3819)
         lu(k,3826) = lu(k,3826) - lu(k,1688) * lu(k,3819)
         lu(k,3827) = lu(k,3827) - lu(k,1689) * lu(k,3819)
         lu(k,3829) = lu(k,3829) - lu(k,1690) * lu(k,3819)
         lu(k,3831) = lu(k,3831) - lu(k,1691) * lu(k,3819)
         lu(k,3833) = lu(k,3833) - lu(k,1692) * lu(k,3819)
         lu(k,3835) = - lu(k,1693) * lu(k,3819)
         lu(k,3837) = lu(k,3837) - lu(k,1694) * lu(k,3819)
         lu(k,3847) = lu(k,3847) - lu(k,1686) * lu(k,3845)
         lu(k,3849) = lu(k,3849) - lu(k,1687) * lu(k,3845)
         lu(k,3851) = lu(k,3851) - lu(k,1688) * lu(k,3845)
         lu(k,3852) = lu(k,3852) - lu(k,1689) * lu(k,3845)
         lu(k,3854) = - lu(k,1690) * lu(k,3845)
         lu(k,3856) = lu(k,3856) - lu(k,1691) * lu(k,3845)
         lu(k,3858) = lu(k,3858) - lu(k,1692) * lu(k,3845)
         lu(k,3860) = lu(k,3860) - lu(k,1693) * lu(k,3845)
         lu(k,3862) = lu(k,3862) - lu(k,1694) * lu(k,3845)
      end do
      end subroutine lu_fac37
      subroutine lu_fac38( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,1700) = 1._r8 / lu(k,1700)
         lu(k,1701) = lu(k,1701) * lu(k,1700)
         lu(k,1702) = lu(k,1702) * lu(k,1700)
         lu(k,1703) = lu(k,1703) * lu(k,1700)
         lu(k,1704) = lu(k,1704) * lu(k,1700)
         lu(k,1705) = lu(k,1705) * lu(k,1700)
         lu(k,1706) = lu(k,1706) * lu(k,1700)
         lu(k,1707) = lu(k,1707) * lu(k,1700)
         lu(k,1708) = lu(k,1708) * lu(k,1700)
         lu(k,1709) = lu(k,1709) * lu(k,1700)
         lu(k,1731) = lu(k,1731) - lu(k,1701) * lu(k,1728)
         lu(k,1732) = lu(k,1732) - lu(k,1702) * lu(k,1728)
         lu(k,1736) = lu(k,1736) - lu(k,1703) * lu(k,1728)
         lu(k,1738) = lu(k,1738) - lu(k,1704) * lu(k,1728)
         lu(k,1739) = lu(k,1739) - lu(k,1705) * lu(k,1728)
         lu(k,1740) = lu(k,1740) - lu(k,1706) * lu(k,1728)
         lu(k,1741) = lu(k,1741) - lu(k,1707) * lu(k,1728)
         lu(k,1743) = lu(k,1743) - lu(k,1708) * lu(k,1728)
         lu(k,1744) = lu(k,1744) - lu(k,1709) * lu(k,1728)
         lu(k,1781) = lu(k,1781) - lu(k,1701) * lu(k,1779)
         lu(k,1783) = lu(k,1783) - lu(k,1702) * lu(k,1779)
         lu(k,1787) = lu(k,1787) - lu(k,1703) * lu(k,1779)
         lu(k,1788) = lu(k,1788) - lu(k,1704) * lu(k,1779)
         lu(k,1789) = lu(k,1789) - lu(k,1705) * lu(k,1779)
         lu(k,1790) = lu(k,1790) - lu(k,1706) * lu(k,1779)
         lu(k,1791) = lu(k,1791) - lu(k,1707) * lu(k,1779)
         lu(k,1793) = lu(k,1793) - lu(k,1708) * lu(k,1779)
         lu(k,1794) = lu(k,1794) - lu(k,1709) * lu(k,1779)
         lu(k,1828) = lu(k,1828) - lu(k,1701) * lu(k,1826)
         lu(k,1830) = lu(k,1830) - lu(k,1702) * lu(k,1826)
         lu(k,1834) = lu(k,1834) - lu(k,1703) * lu(k,1826)
         lu(k,1836) = lu(k,1836) - lu(k,1704) * lu(k,1826)
         lu(k,1837) = lu(k,1837) - lu(k,1705) * lu(k,1826)
         lu(k,1838) = lu(k,1838) - lu(k,1706) * lu(k,1826)
         lu(k,1839) = lu(k,1839) - lu(k,1707) * lu(k,1826)
         lu(k,1841) = lu(k,1841) - lu(k,1708) * lu(k,1826)
         lu(k,1842) = lu(k,1842) - lu(k,1709) * lu(k,1826)
         lu(k,1892) = lu(k,1892) - lu(k,1701) * lu(k,1889)
         lu(k,1894) = lu(k,1894) - lu(k,1702) * lu(k,1889)
         lu(k,1900) = lu(k,1900) - lu(k,1703) * lu(k,1889)
         lu(k,1902) = lu(k,1902) - lu(k,1704) * lu(k,1889)
         lu(k,1903) = lu(k,1903) - lu(k,1705) * lu(k,1889)
         lu(k,1906) = lu(k,1906) - lu(k,1706) * lu(k,1889)
         lu(k,1907) = lu(k,1907) - lu(k,1707) * lu(k,1889)
         lu(k,1909) = lu(k,1909) - lu(k,1708) * lu(k,1889)
         lu(k,1910) = lu(k,1910) - lu(k,1709) * lu(k,1889)
         lu(k,1928) = lu(k,1928) - lu(k,1701) * lu(k,1927)
         lu(k,1929) = lu(k,1929) - lu(k,1702) * lu(k,1927)
         lu(k,1932) = lu(k,1932) - lu(k,1703) * lu(k,1927)
         lu(k,1934) = lu(k,1934) - lu(k,1704) * lu(k,1927)
         lu(k,1935) = lu(k,1935) - lu(k,1705) * lu(k,1927)
         lu(k,1938) = lu(k,1938) - lu(k,1706) * lu(k,1927)
         lu(k,1939) = lu(k,1939) - lu(k,1707) * lu(k,1927)
         lu(k,1941) = lu(k,1941) - lu(k,1708) * lu(k,1927)
         lu(k,1942) = lu(k,1942) - lu(k,1709) * lu(k,1927)
         lu(k,1962) = lu(k,1962) - lu(k,1701) * lu(k,1961)
         lu(k,1963) = lu(k,1963) - lu(k,1702) * lu(k,1961)
         lu(k,1966) = lu(k,1966) - lu(k,1703) * lu(k,1961)
         lu(k,1968) = lu(k,1968) - lu(k,1704) * lu(k,1961)
         lu(k,1969) = lu(k,1969) - lu(k,1705) * lu(k,1961)
         lu(k,1972) = lu(k,1972) - lu(k,1706) * lu(k,1961)
         lu(k,1973) = lu(k,1973) - lu(k,1707) * lu(k,1961)
         lu(k,1975) = lu(k,1975) - lu(k,1708) * lu(k,1961)
         lu(k,1976) = lu(k,1976) - lu(k,1709) * lu(k,1961)
         lu(k,1991) = lu(k,1991) - lu(k,1701) * lu(k,1990)
         lu(k,1992) = lu(k,1992) - lu(k,1702) * lu(k,1990)
         lu(k,1994) = lu(k,1994) - lu(k,1703) * lu(k,1990)
         lu(k,1996) = lu(k,1996) - lu(k,1704) * lu(k,1990)
         lu(k,1997) = lu(k,1997) - lu(k,1705) * lu(k,1990)
         lu(k,2000) = lu(k,2000) - lu(k,1706) * lu(k,1990)
         lu(k,2001) = lu(k,2001) - lu(k,1707) * lu(k,1990)
         lu(k,2003) = lu(k,2003) - lu(k,1708) * lu(k,1990)
         lu(k,2004) = lu(k,2004) - lu(k,1709) * lu(k,1990)
         lu(k,2668) = lu(k,2668) - lu(k,1701) * lu(k,2664)
         lu(k,2670) = lu(k,2670) - lu(k,1702) * lu(k,2664)
         lu(k,2699) = lu(k,2699) - lu(k,1703) * lu(k,2664)
         lu(k,2701) = lu(k,2701) - lu(k,1704) * lu(k,2664)
         lu(k,2702) = lu(k,2702) - lu(k,1705) * lu(k,2664)
         lu(k,2705) = lu(k,2705) - lu(k,1706) * lu(k,2664)
         lu(k,2706) = lu(k,2706) - lu(k,1707) * lu(k,2664)
         lu(k,2709) = lu(k,2709) - lu(k,1708) * lu(k,2664)
         lu(k,2710) = lu(k,2710) - lu(k,1709) * lu(k,2664)
         lu(k,2851) = lu(k,2851) - lu(k,1701) * lu(k,2847)
         lu(k,2853) = lu(k,2853) - lu(k,1702) * lu(k,2847)
         lu(k,2882) = lu(k,2882) - lu(k,1703) * lu(k,2847)
         lu(k,2884) = lu(k,2884) - lu(k,1704) * lu(k,2847)
         lu(k,2885) = lu(k,2885) - lu(k,1705) * lu(k,2847)
         lu(k,2889) = lu(k,2889) - lu(k,1706) * lu(k,2847)
         lu(k,2891) = lu(k,2891) - lu(k,1707) * lu(k,2847)
         lu(k,2894) = lu(k,2894) - lu(k,1708) * lu(k,2847)
         lu(k,2895) = lu(k,2895) - lu(k,1709) * lu(k,2847)
         lu(k,2953) = lu(k,2953) - lu(k,1701) * lu(k,2949)
         lu(k,2955) = lu(k,2955) - lu(k,1702) * lu(k,2949)
         lu(k,2983) = lu(k,2983) - lu(k,1703) * lu(k,2949)
         lu(k,2985) = lu(k,2985) - lu(k,1704) * lu(k,2949)
         lu(k,2986) = lu(k,2986) - lu(k,1705) * lu(k,2949)
         lu(k,2990) = lu(k,2990) - lu(k,1706) * lu(k,2949)
         lu(k,2992) = lu(k,2992) - lu(k,1707) * lu(k,2949)
         lu(k,2995) = lu(k,2995) - lu(k,1708) * lu(k,2949)
         lu(k,2996) = lu(k,2996) - lu(k,1709) * lu(k,2949)
         lu(k,3044) = - lu(k,1701) * lu(k,3040)
         lu(k,3046) = lu(k,3046) - lu(k,1702) * lu(k,3040)
         lu(k,3075) = lu(k,3075) - lu(k,1703) * lu(k,3040)
         lu(k,3077) = lu(k,3077) - lu(k,1704) * lu(k,3040)
         lu(k,3078) = lu(k,3078) - lu(k,1705) * lu(k,3040)
         lu(k,3082) = lu(k,3082) - lu(k,1706) * lu(k,3040)
         lu(k,3084) = lu(k,3084) - lu(k,1707) * lu(k,3040)
         lu(k,3087) = lu(k,3087) - lu(k,1708) * lu(k,3040)
         lu(k,3088) = lu(k,3088) - lu(k,1709) * lu(k,3040)
         lu(k,3247) = lu(k,3247) - lu(k,1701) * lu(k,3243)
         lu(k,3249) = lu(k,3249) - lu(k,1702) * lu(k,3243)
         lu(k,3278) = lu(k,3278) - lu(k,1703) * lu(k,3243)
         lu(k,3280) = lu(k,3280) - lu(k,1704) * lu(k,3243)
         lu(k,3281) = lu(k,3281) - lu(k,1705) * lu(k,3243)
         lu(k,3285) = lu(k,3285) - lu(k,1706) * lu(k,3243)
         lu(k,3287) = lu(k,3287) - lu(k,1707) * lu(k,3243)
         lu(k,3290) = lu(k,3290) - lu(k,1708) * lu(k,3243)
         lu(k,3291) = lu(k,3291) - lu(k,1709) * lu(k,3243)
         lu(k,3388) = lu(k,3388) - lu(k,1701) * lu(k,3384)
         lu(k,3390) = lu(k,3390) - lu(k,1702) * lu(k,3384)
         lu(k,3419) = lu(k,3419) - lu(k,1703) * lu(k,3384)
         lu(k,3421) = lu(k,3421) - lu(k,1704) * lu(k,3384)
         lu(k,3422) = lu(k,3422) - lu(k,1705) * lu(k,3384)
         lu(k,3426) = lu(k,3426) - lu(k,1706) * lu(k,3384)
         lu(k,3428) = lu(k,3428) - lu(k,1707) * lu(k,3384)
         lu(k,3431) = lu(k,3431) - lu(k,1708) * lu(k,3384)
         lu(k,3432) = lu(k,3432) - lu(k,1709) * lu(k,3384)
         lu(k,3709) = lu(k,3709) - lu(k,1701) * lu(k,3705)
         lu(k,3711) = lu(k,3711) - lu(k,1702) * lu(k,3705)
         lu(k,3739) = lu(k,3739) - lu(k,1703) * lu(k,3705)
         lu(k,3741) = lu(k,3741) - lu(k,1704) * lu(k,3705)
         lu(k,3742) = lu(k,3742) - lu(k,1705) * lu(k,3705)
         lu(k,3746) = lu(k,3746) - lu(k,1706) * lu(k,3705)
         lu(k,3748) = lu(k,3748) - lu(k,1707) * lu(k,3705)
         lu(k,3751) = lu(k,3751) - lu(k,1708) * lu(k,3705)
         lu(k,3752) = lu(k,3752) - lu(k,1709) * lu(k,3705)
         lu(k,1729) = 1._r8 / lu(k,1729)
         lu(k,1730) = lu(k,1730) * lu(k,1729)
         lu(k,1731) = lu(k,1731) * lu(k,1729)
         lu(k,1732) = lu(k,1732) * lu(k,1729)
         lu(k,1733) = lu(k,1733) * lu(k,1729)
         lu(k,1734) = lu(k,1734) * lu(k,1729)
         lu(k,1735) = lu(k,1735) * lu(k,1729)
         lu(k,1736) = lu(k,1736) * lu(k,1729)
         lu(k,1737) = lu(k,1737) * lu(k,1729)
         lu(k,1738) = lu(k,1738) * lu(k,1729)
         lu(k,1739) = lu(k,1739) * lu(k,1729)
         lu(k,1740) = lu(k,1740) * lu(k,1729)
         lu(k,1741) = lu(k,1741) * lu(k,1729)
         lu(k,1742) = lu(k,1742) * lu(k,1729)
         lu(k,1743) = lu(k,1743) * lu(k,1729)
         lu(k,1744) = lu(k,1744) * lu(k,1729)
         lu(k,1891) = lu(k,1891) - lu(k,1730) * lu(k,1890)
         lu(k,1892) = lu(k,1892) - lu(k,1731) * lu(k,1890)
         lu(k,1894) = lu(k,1894) - lu(k,1732) * lu(k,1890)
         lu(k,1896) = lu(k,1896) - lu(k,1733) * lu(k,1890)
         lu(k,1897) = - lu(k,1734) * lu(k,1890)
         lu(k,1899) = - lu(k,1735) * lu(k,1890)
         lu(k,1900) = lu(k,1900) - lu(k,1736) * lu(k,1890)
         lu(k,1901) = - lu(k,1737) * lu(k,1890)
         lu(k,1902) = lu(k,1902) - lu(k,1738) * lu(k,1890)
         lu(k,1903) = lu(k,1903) - lu(k,1739) * lu(k,1890)
         lu(k,1906) = lu(k,1906) - lu(k,1740) * lu(k,1890)
         lu(k,1907) = lu(k,1907) - lu(k,1741) * lu(k,1890)
         lu(k,1908) = - lu(k,1742) * lu(k,1890)
         lu(k,1909) = lu(k,1909) - lu(k,1743) * lu(k,1890)
         lu(k,1910) = lu(k,1910) - lu(k,1744) * lu(k,1890)
         lu(k,2666) = lu(k,2666) - lu(k,1730) * lu(k,2665)
         lu(k,2668) = lu(k,2668) - lu(k,1731) * lu(k,2665)
         lu(k,2670) = lu(k,2670) - lu(k,1732) * lu(k,2665)
         lu(k,2672) = lu(k,2672) - lu(k,1733) * lu(k,2665)
         lu(k,2673) = lu(k,2673) - lu(k,1734) * lu(k,2665)
         lu(k,2681) = lu(k,2681) - lu(k,1735) * lu(k,2665)
         lu(k,2699) = lu(k,2699) - lu(k,1736) * lu(k,2665)
         lu(k,2700) = lu(k,2700) - lu(k,1737) * lu(k,2665)
         lu(k,2701) = lu(k,2701) - lu(k,1738) * lu(k,2665)
         lu(k,2702) = lu(k,2702) - lu(k,1739) * lu(k,2665)
         lu(k,2705) = lu(k,2705) - lu(k,1740) * lu(k,2665)
         lu(k,2706) = lu(k,2706) - lu(k,1741) * lu(k,2665)
         lu(k,2707) = lu(k,2707) - lu(k,1742) * lu(k,2665)
         lu(k,2709) = lu(k,2709) - lu(k,1743) * lu(k,2665)
         lu(k,2710) = lu(k,2710) - lu(k,1744) * lu(k,2665)
         lu(k,2849) = lu(k,2849) - lu(k,1730) * lu(k,2848)
         lu(k,2851) = lu(k,2851) - lu(k,1731) * lu(k,2848)
         lu(k,2853) = lu(k,2853) - lu(k,1732) * lu(k,2848)
         lu(k,2855) = lu(k,2855) - lu(k,1733) * lu(k,2848)
         lu(k,2856) = lu(k,2856) - lu(k,1734) * lu(k,2848)
         lu(k,2864) = lu(k,2864) - lu(k,1735) * lu(k,2848)
         lu(k,2882) = lu(k,2882) - lu(k,1736) * lu(k,2848)
         lu(k,2883) = lu(k,2883) - lu(k,1737) * lu(k,2848)
         lu(k,2884) = lu(k,2884) - lu(k,1738) * lu(k,2848)
         lu(k,2885) = lu(k,2885) - lu(k,1739) * lu(k,2848)
         lu(k,2889) = lu(k,2889) - lu(k,1740) * lu(k,2848)
         lu(k,2891) = lu(k,2891) - lu(k,1741) * lu(k,2848)
         lu(k,2892) = lu(k,2892) - lu(k,1742) * lu(k,2848)
         lu(k,2894) = lu(k,2894) - lu(k,1743) * lu(k,2848)
         lu(k,2895) = lu(k,2895) - lu(k,1744) * lu(k,2848)
         lu(k,2951) = lu(k,2951) - lu(k,1730) * lu(k,2950)
         lu(k,2953) = lu(k,2953) - lu(k,1731) * lu(k,2950)
         lu(k,2955) = lu(k,2955) - lu(k,1732) * lu(k,2950)
         lu(k,2957) = lu(k,2957) - lu(k,1733) * lu(k,2950)
         lu(k,2958) = lu(k,2958) - lu(k,1734) * lu(k,2950)
         lu(k,2965) = lu(k,2965) - lu(k,1735) * lu(k,2950)
         lu(k,2983) = lu(k,2983) - lu(k,1736) * lu(k,2950)
         lu(k,2984) = lu(k,2984) - lu(k,1737) * lu(k,2950)
         lu(k,2985) = lu(k,2985) - lu(k,1738) * lu(k,2950)
         lu(k,2986) = lu(k,2986) - lu(k,1739) * lu(k,2950)
         lu(k,2990) = lu(k,2990) - lu(k,1740) * lu(k,2950)
         lu(k,2992) = lu(k,2992) - lu(k,1741) * lu(k,2950)
         lu(k,2993) = lu(k,2993) - lu(k,1742) * lu(k,2950)
         lu(k,2995) = lu(k,2995) - lu(k,1743) * lu(k,2950)
         lu(k,2996) = lu(k,2996) - lu(k,1744) * lu(k,2950)
         lu(k,3042) = lu(k,3042) - lu(k,1730) * lu(k,3041)
         lu(k,3044) = lu(k,3044) - lu(k,1731) * lu(k,3041)
         lu(k,3046) = lu(k,3046) - lu(k,1732) * lu(k,3041)
         lu(k,3048) = lu(k,3048) - lu(k,1733) * lu(k,3041)
         lu(k,3049) = lu(k,3049) - lu(k,1734) * lu(k,3041)
         lu(k,3057) = lu(k,3057) - lu(k,1735) * lu(k,3041)
         lu(k,3075) = lu(k,3075) - lu(k,1736) * lu(k,3041)
         lu(k,3076) = lu(k,3076) - lu(k,1737) * lu(k,3041)
         lu(k,3077) = lu(k,3077) - lu(k,1738) * lu(k,3041)
         lu(k,3078) = lu(k,3078) - lu(k,1739) * lu(k,3041)
         lu(k,3082) = lu(k,3082) - lu(k,1740) * lu(k,3041)
         lu(k,3084) = lu(k,3084) - lu(k,1741) * lu(k,3041)
         lu(k,3085) = lu(k,3085) - lu(k,1742) * lu(k,3041)
         lu(k,3087) = lu(k,3087) - lu(k,1743) * lu(k,3041)
         lu(k,3088) = lu(k,3088) - lu(k,1744) * lu(k,3041)
         lu(k,3245) = lu(k,3245) - lu(k,1730) * lu(k,3244)
         lu(k,3247) = lu(k,3247) - lu(k,1731) * lu(k,3244)
         lu(k,3249) = lu(k,3249) - lu(k,1732) * lu(k,3244)
         lu(k,3251) = lu(k,3251) - lu(k,1733) * lu(k,3244)
         lu(k,3252) = lu(k,3252) - lu(k,1734) * lu(k,3244)
         lu(k,3260) = lu(k,3260) - lu(k,1735) * lu(k,3244)
         lu(k,3278) = lu(k,3278) - lu(k,1736) * lu(k,3244)
         lu(k,3279) = lu(k,3279) - lu(k,1737) * lu(k,3244)
         lu(k,3280) = lu(k,3280) - lu(k,1738) * lu(k,3244)
         lu(k,3281) = lu(k,3281) - lu(k,1739) * lu(k,3244)
         lu(k,3285) = lu(k,3285) - lu(k,1740) * lu(k,3244)
         lu(k,3287) = lu(k,3287) - lu(k,1741) * lu(k,3244)
         lu(k,3288) = lu(k,3288) - lu(k,1742) * lu(k,3244)
         lu(k,3290) = lu(k,3290) - lu(k,1743) * lu(k,3244)
         lu(k,3291) = lu(k,3291) - lu(k,1744) * lu(k,3244)
         lu(k,3386) = lu(k,3386) - lu(k,1730) * lu(k,3385)
         lu(k,3388) = lu(k,3388) - lu(k,1731) * lu(k,3385)
         lu(k,3390) = lu(k,3390) - lu(k,1732) * lu(k,3385)
         lu(k,3392) = lu(k,3392) - lu(k,1733) * lu(k,3385)
         lu(k,3393) = lu(k,3393) - lu(k,1734) * lu(k,3385)
         lu(k,3401) = lu(k,3401) - lu(k,1735) * lu(k,3385)
         lu(k,3419) = lu(k,3419) - lu(k,1736) * lu(k,3385)
         lu(k,3420) = lu(k,3420) - lu(k,1737) * lu(k,3385)
         lu(k,3421) = lu(k,3421) - lu(k,1738) * lu(k,3385)
         lu(k,3422) = lu(k,3422) - lu(k,1739) * lu(k,3385)
         lu(k,3426) = lu(k,3426) - lu(k,1740) * lu(k,3385)
         lu(k,3428) = lu(k,3428) - lu(k,1741) * lu(k,3385)
         lu(k,3429) = lu(k,3429) - lu(k,1742) * lu(k,3385)
         lu(k,3431) = lu(k,3431) - lu(k,1743) * lu(k,3385)
         lu(k,3432) = lu(k,3432) - lu(k,1744) * lu(k,3385)
         lu(k,3707) = lu(k,3707) - lu(k,1730) * lu(k,3706)
         lu(k,3709) = lu(k,3709) - lu(k,1731) * lu(k,3706)
         lu(k,3711) = lu(k,3711) - lu(k,1732) * lu(k,3706)
         lu(k,3713) = lu(k,3713) - lu(k,1733) * lu(k,3706)
         lu(k,3714) = lu(k,3714) - lu(k,1734) * lu(k,3706)
         lu(k,3721) = lu(k,3721) - lu(k,1735) * lu(k,3706)
         lu(k,3739) = lu(k,3739) - lu(k,1736) * lu(k,3706)
         lu(k,3740) = lu(k,3740) - lu(k,1737) * lu(k,3706)
         lu(k,3741) = lu(k,3741) - lu(k,1738) * lu(k,3706)
         lu(k,3742) = lu(k,3742) - lu(k,1739) * lu(k,3706)
         lu(k,3746) = lu(k,3746) - lu(k,1740) * lu(k,3706)
         lu(k,3748) = lu(k,3748) - lu(k,1741) * lu(k,3706)
         lu(k,3749) = lu(k,3749) - lu(k,1742) * lu(k,3706)
         lu(k,3751) = lu(k,3751) - lu(k,1743) * lu(k,3706)
         lu(k,3752) = lu(k,3752) - lu(k,1744) * lu(k,3706)
         lu(k,1751) = 1._r8 / lu(k,1751)
         lu(k,1752) = lu(k,1752) * lu(k,1751)
         lu(k,1753) = lu(k,1753) * lu(k,1751)
         lu(k,1754) = lu(k,1754) * lu(k,1751)
         lu(k,1755) = lu(k,1755) * lu(k,1751)
         lu(k,1756) = lu(k,1756) * lu(k,1751)
         lu(k,1757) = lu(k,1757) * lu(k,1751)
         lu(k,1758) = lu(k,1758) * lu(k,1751)
         lu(k,1759) = lu(k,1759) * lu(k,1751)
         lu(k,1760) = lu(k,1760) * lu(k,1751)
         lu(k,1761) = lu(k,1761) * lu(k,1751)
         lu(k,1762) = lu(k,1762) * lu(k,1751)
         lu(k,1763) = lu(k,1763) * lu(k,1751)
         lu(k,1764) = lu(k,1764) * lu(k,1751)
         lu(k,1894) = lu(k,1894) - lu(k,1752) * lu(k,1891)
         lu(k,1899) = lu(k,1899) - lu(k,1753) * lu(k,1891)
         lu(k,1900) = lu(k,1900) - lu(k,1754) * lu(k,1891)
         lu(k,1902) = lu(k,1902) - lu(k,1755) * lu(k,1891)
         lu(k,1903) = lu(k,1903) - lu(k,1756) * lu(k,1891)
         lu(k,1904) = - lu(k,1757) * lu(k,1891)
         lu(k,1905) = - lu(k,1758) * lu(k,1891)
         lu(k,1906) = lu(k,1906) - lu(k,1759) * lu(k,1891)
         lu(k,1907) = lu(k,1907) - lu(k,1760) * lu(k,1891)
         lu(k,1908) = lu(k,1908) - lu(k,1761) * lu(k,1891)
         lu(k,1909) = lu(k,1909) - lu(k,1762) * lu(k,1891)
         lu(k,1910) = lu(k,1910) - lu(k,1763) * lu(k,1891)
         lu(k,1911) = - lu(k,1764) * lu(k,1891)
         lu(k,2029) = lu(k,2029) - lu(k,1752) * lu(k,2027)
         lu(k,2035) = - lu(k,1753) * lu(k,2027)
         lu(k,2036) = lu(k,2036) - lu(k,1754) * lu(k,2027)
         lu(k,2038) = lu(k,2038) - lu(k,1755) * lu(k,2027)
         lu(k,2039) = lu(k,2039) - lu(k,1756) * lu(k,2027)
         lu(k,2040) = lu(k,2040) - lu(k,1757) * lu(k,2027)
         lu(k,2041) = lu(k,2041) - lu(k,1758) * lu(k,2027)
         lu(k,2042) = lu(k,2042) - lu(k,1759) * lu(k,2027)
         lu(k,2043) = lu(k,2043) - lu(k,1760) * lu(k,2027)
         lu(k,2044) = lu(k,2044) - lu(k,1761) * lu(k,2027)
         lu(k,2046) = lu(k,2046) - lu(k,1762) * lu(k,2027)
         lu(k,2047) = lu(k,2047) - lu(k,1763) * lu(k,2027)
         lu(k,2050) = lu(k,2050) - lu(k,1764) * lu(k,2027)
         lu(k,2670) = lu(k,2670) - lu(k,1752) * lu(k,2666)
         lu(k,2681) = lu(k,2681) - lu(k,1753) * lu(k,2666)
         lu(k,2699) = lu(k,2699) - lu(k,1754) * lu(k,2666)
         lu(k,2701) = lu(k,2701) - lu(k,1755) * lu(k,2666)
         lu(k,2702) = lu(k,2702) - lu(k,1756) * lu(k,2666)
         lu(k,2703) = lu(k,2703) - lu(k,1757) * lu(k,2666)
         lu(k,2704) = lu(k,2704) - lu(k,1758) * lu(k,2666)
         lu(k,2705) = lu(k,2705) - lu(k,1759) * lu(k,2666)
         lu(k,2706) = lu(k,2706) - lu(k,1760) * lu(k,2666)
         lu(k,2707) = lu(k,2707) - lu(k,1761) * lu(k,2666)
         lu(k,2709) = lu(k,2709) - lu(k,1762) * lu(k,2666)
         lu(k,2710) = lu(k,2710) - lu(k,1763) * lu(k,2666)
         lu(k,2713) = lu(k,2713) - lu(k,1764) * lu(k,2666)
         lu(k,2853) = lu(k,2853) - lu(k,1752) * lu(k,2849)
         lu(k,2864) = lu(k,2864) - lu(k,1753) * lu(k,2849)
         lu(k,2882) = lu(k,2882) - lu(k,1754) * lu(k,2849)
         lu(k,2884) = lu(k,2884) - lu(k,1755) * lu(k,2849)
         lu(k,2885) = lu(k,2885) - lu(k,1756) * lu(k,2849)
         lu(k,2886) = lu(k,2886) - lu(k,1757) * lu(k,2849)
         lu(k,2887) = lu(k,2887) - lu(k,1758) * lu(k,2849)
         lu(k,2889) = lu(k,2889) - lu(k,1759) * lu(k,2849)
         lu(k,2891) = lu(k,2891) - lu(k,1760) * lu(k,2849)
         lu(k,2892) = lu(k,2892) - lu(k,1761) * lu(k,2849)
         lu(k,2894) = lu(k,2894) - lu(k,1762) * lu(k,2849)
         lu(k,2895) = lu(k,2895) - lu(k,1763) * lu(k,2849)
         lu(k,2899) = lu(k,2899) - lu(k,1764) * lu(k,2849)
         lu(k,2955) = lu(k,2955) - lu(k,1752) * lu(k,2951)
         lu(k,2965) = lu(k,2965) - lu(k,1753) * lu(k,2951)
         lu(k,2983) = lu(k,2983) - lu(k,1754) * lu(k,2951)
         lu(k,2985) = lu(k,2985) - lu(k,1755) * lu(k,2951)
         lu(k,2986) = lu(k,2986) - lu(k,1756) * lu(k,2951)
         lu(k,2987) = lu(k,2987) - lu(k,1757) * lu(k,2951)
         lu(k,2988) = lu(k,2988) - lu(k,1758) * lu(k,2951)
         lu(k,2990) = lu(k,2990) - lu(k,1759) * lu(k,2951)
         lu(k,2992) = lu(k,2992) - lu(k,1760) * lu(k,2951)
         lu(k,2993) = lu(k,2993) - lu(k,1761) * lu(k,2951)
         lu(k,2995) = lu(k,2995) - lu(k,1762) * lu(k,2951)
         lu(k,2996) = lu(k,2996) - lu(k,1763) * lu(k,2951)
         lu(k,3000) = lu(k,3000) - lu(k,1764) * lu(k,2951)
         lu(k,3046) = lu(k,3046) - lu(k,1752) * lu(k,3042)
         lu(k,3057) = lu(k,3057) - lu(k,1753) * lu(k,3042)
         lu(k,3075) = lu(k,3075) - lu(k,1754) * lu(k,3042)
         lu(k,3077) = lu(k,3077) - lu(k,1755) * lu(k,3042)
         lu(k,3078) = lu(k,3078) - lu(k,1756) * lu(k,3042)
         lu(k,3079) = lu(k,3079) - lu(k,1757) * lu(k,3042)
         lu(k,3080) = lu(k,3080) - lu(k,1758) * lu(k,3042)
         lu(k,3082) = lu(k,3082) - lu(k,1759) * lu(k,3042)
         lu(k,3084) = lu(k,3084) - lu(k,1760) * lu(k,3042)
         lu(k,3085) = lu(k,3085) - lu(k,1761) * lu(k,3042)
         lu(k,3087) = lu(k,3087) - lu(k,1762) * lu(k,3042)
         lu(k,3088) = lu(k,3088) - lu(k,1763) * lu(k,3042)
         lu(k,3092) = lu(k,3092) - lu(k,1764) * lu(k,3042)
         lu(k,3249) = lu(k,3249) - lu(k,1752) * lu(k,3245)
         lu(k,3260) = lu(k,3260) - lu(k,1753) * lu(k,3245)
         lu(k,3278) = lu(k,3278) - lu(k,1754) * lu(k,3245)
         lu(k,3280) = lu(k,3280) - lu(k,1755) * lu(k,3245)
         lu(k,3281) = lu(k,3281) - lu(k,1756) * lu(k,3245)
         lu(k,3282) = lu(k,3282) - lu(k,1757) * lu(k,3245)
         lu(k,3283) = lu(k,3283) - lu(k,1758) * lu(k,3245)
         lu(k,3285) = lu(k,3285) - lu(k,1759) * lu(k,3245)
         lu(k,3287) = lu(k,3287) - lu(k,1760) * lu(k,3245)
         lu(k,3288) = lu(k,3288) - lu(k,1761) * lu(k,3245)
         lu(k,3290) = lu(k,3290) - lu(k,1762) * lu(k,3245)
         lu(k,3291) = lu(k,3291) - lu(k,1763) * lu(k,3245)
         lu(k,3295) = lu(k,3295) - lu(k,1764) * lu(k,3245)
         lu(k,3390) = lu(k,3390) - lu(k,1752) * lu(k,3386)
         lu(k,3401) = lu(k,3401) - lu(k,1753) * lu(k,3386)
         lu(k,3419) = lu(k,3419) - lu(k,1754) * lu(k,3386)
         lu(k,3421) = lu(k,3421) - lu(k,1755) * lu(k,3386)
         lu(k,3422) = lu(k,3422) - lu(k,1756) * lu(k,3386)
         lu(k,3423) = lu(k,3423) - lu(k,1757) * lu(k,3386)
         lu(k,3424) = lu(k,3424) - lu(k,1758) * lu(k,3386)
         lu(k,3426) = lu(k,3426) - lu(k,1759) * lu(k,3386)
         lu(k,3428) = lu(k,3428) - lu(k,1760) * lu(k,3386)
         lu(k,3429) = lu(k,3429) - lu(k,1761) * lu(k,3386)
         lu(k,3431) = lu(k,3431) - lu(k,1762) * lu(k,3386)
         lu(k,3432) = lu(k,3432) - lu(k,1763) * lu(k,3386)
         lu(k,3436) = lu(k,3436) - lu(k,1764) * lu(k,3386)
         lu(k,3711) = lu(k,3711) - lu(k,1752) * lu(k,3707)
         lu(k,3721) = lu(k,3721) - lu(k,1753) * lu(k,3707)
         lu(k,3739) = lu(k,3739) - lu(k,1754) * lu(k,3707)
         lu(k,3741) = lu(k,3741) - lu(k,1755) * lu(k,3707)
         lu(k,3742) = lu(k,3742) - lu(k,1756) * lu(k,3707)
         lu(k,3743) = lu(k,3743) - lu(k,1757) * lu(k,3707)
         lu(k,3744) = lu(k,3744) - lu(k,1758) * lu(k,3707)
         lu(k,3746) = lu(k,3746) - lu(k,1759) * lu(k,3707)
         lu(k,3748) = lu(k,3748) - lu(k,1760) * lu(k,3707)
         lu(k,3749) = lu(k,3749) - lu(k,1761) * lu(k,3707)
         lu(k,3751) = lu(k,3751) - lu(k,1762) * lu(k,3707)
         lu(k,3752) = lu(k,3752) - lu(k,1763) * lu(k,3707)
         lu(k,3756) = lu(k,3756) - lu(k,1764) * lu(k,3707)
         lu(k,1780) = 1._r8 / lu(k,1780)
         lu(k,1781) = lu(k,1781) * lu(k,1780)
         lu(k,1782) = lu(k,1782) * lu(k,1780)
         lu(k,1783) = lu(k,1783) * lu(k,1780)
         lu(k,1784) = lu(k,1784) * lu(k,1780)
         lu(k,1785) = lu(k,1785) * lu(k,1780)
         lu(k,1786) = lu(k,1786) * lu(k,1780)
         lu(k,1787) = lu(k,1787) * lu(k,1780)
         lu(k,1788) = lu(k,1788) * lu(k,1780)
         lu(k,1789) = lu(k,1789) * lu(k,1780)
         lu(k,1790) = lu(k,1790) * lu(k,1780)
         lu(k,1791) = lu(k,1791) * lu(k,1780)
         lu(k,1792) = lu(k,1792) * lu(k,1780)
         lu(k,1793) = lu(k,1793) * lu(k,1780)
         lu(k,1794) = lu(k,1794) * lu(k,1780)
         lu(k,1795) = lu(k,1795) * lu(k,1780)
         lu(k,1828) = lu(k,1828) - lu(k,1781) * lu(k,1827)
         lu(k,1829) = lu(k,1829) - lu(k,1782) * lu(k,1827)
         lu(k,1830) = lu(k,1830) - lu(k,1783) * lu(k,1827)
         lu(k,1831) = lu(k,1831) - lu(k,1784) * lu(k,1827)
         lu(k,1832) = lu(k,1832) - lu(k,1785) * lu(k,1827)
         lu(k,1833) = lu(k,1833) - lu(k,1786) * lu(k,1827)
         lu(k,1834) = lu(k,1834) - lu(k,1787) * lu(k,1827)
         lu(k,1836) = lu(k,1836) - lu(k,1788) * lu(k,1827)
         lu(k,1837) = lu(k,1837) - lu(k,1789) * lu(k,1827)
         lu(k,1838) = lu(k,1838) - lu(k,1790) * lu(k,1827)
         lu(k,1839) = lu(k,1839) - lu(k,1791) * lu(k,1827)
         lu(k,1840) = lu(k,1840) - lu(k,1792) * lu(k,1827)
         lu(k,1841) = lu(k,1841) - lu(k,1793) * lu(k,1827)
         lu(k,1842) = lu(k,1842) - lu(k,1794) * lu(k,1827)
         lu(k,1843) = - lu(k,1795) * lu(k,1827)
         lu(k,2668) = lu(k,2668) - lu(k,1781) * lu(k,2667)
         lu(k,2669) = lu(k,2669) - lu(k,1782) * lu(k,2667)
         lu(k,2670) = lu(k,2670) - lu(k,1783) * lu(k,2667)
         lu(k,2671) = lu(k,2671) - lu(k,1784) * lu(k,2667)
         lu(k,2672) = lu(k,2672) - lu(k,1785) * lu(k,2667)
         lu(k,2674) = lu(k,2674) - lu(k,1786) * lu(k,2667)
         lu(k,2699) = lu(k,2699) - lu(k,1787) * lu(k,2667)
         lu(k,2701) = lu(k,2701) - lu(k,1788) * lu(k,2667)
         lu(k,2702) = lu(k,2702) - lu(k,1789) * lu(k,2667)
         lu(k,2705) = lu(k,2705) - lu(k,1790) * lu(k,2667)
         lu(k,2706) = lu(k,2706) - lu(k,1791) * lu(k,2667)
         lu(k,2707) = lu(k,2707) - lu(k,1792) * lu(k,2667)
         lu(k,2709) = lu(k,2709) - lu(k,1793) * lu(k,2667)
         lu(k,2710) = lu(k,2710) - lu(k,1794) * lu(k,2667)
         lu(k,2713) = lu(k,2713) - lu(k,1795) * lu(k,2667)
         lu(k,2851) = lu(k,2851) - lu(k,1781) * lu(k,2850)
         lu(k,2852) = lu(k,2852) - lu(k,1782) * lu(k,2850)
         lu(k,2853) = lu(k,2853) - lu(k,1783) * lu(k,2850)
         lu(k,2854) = lu(k,2854) - lu(k,1784) * lu(k,2850)
         lu(k,2855) = lu(k,2855) - lu(k,1785) * lu(k,2850)
         lu(k,2857) = lu(k,2857) - lu(k,1786) * lu(k,2850)
         lu(k,2882) = lu(k,2882) - lu(k,1787) * lu(k,2850)
         lu(k,2884) = lu(k,2884) - lu(k,1788) * lu(k,2850)
         lu(k,2885) = lu(k,2885) - lu(k,1789) * lu(k,2850)
         lu(k,2889) = lu(k,2889) - lu(k,1790) * lu(k,2850)
         lu(k,2891) = lu(k,2891) - lu(k,1791) * lu(k,2850)
         lu(k,2892) = lu(k,2892) - lu(k,1792) * lu(k,2850)
         lu(k,2894) = lu(k,2894) - lu(k,1793) * lu(k,2850)
         lu(k,2895) = lu(k,2895) - lu(k,1794) * lu(k,2850)
         lu(k,2899) = lu(k,2899) - lu(k,1795) * lu(k,2850)
         lu(k,2953) = lu(k,2953) - lu(k,1781) * lu(k,2952)
         lu(k,2954) = lu(k,2954) - lu(k,1782) * lu(k,2952)
         lu(k,2955) = lu(k,2955) - lu(k,1783) * lu(k,2952)
         lu(k,2956) = lu(k,2956) - lu(k,1784) * lu(k,2952)
         lu(k,2957) = lu(k,2957) - lu(k,1785) * lu(k,2952)
         lu(k,2959) = lu(k,2959) - lu(k,1786) * lu(k,2952)
         lu(k,2983) = lu(k,2983) - lu(k,1787) * lu(k,2952)
         lu(k,2985) = lu(k,2985) - lu(k,1788) * lu(k,2952)
         lu(k,2986) = lu(k,2986) - lu(k,1789) * lu(k,2952)
         lu(k,2990) = lu(k,2990) - lu(k,1790) * lu(k,2952)
         lu(k,2992) = lu(k,2992) - lu(k,1791) * lu(k,2952)
         lu(k,2993) = lu(k,2993) - lu(k,1792) * lu(k,2952)
         lu(k,2995) = lu(k,2995) - lu(k,1793) * lu(k,2952)
         lu(k,2996) = lu(k,2996) - lu(k,1794) * lu(k,2952)
         lu(k,3000) = lu(k,3000) - lu(k,1795) * lu(k,2952)
         lu(k,3044) = lu(k,3044) - lu(k,1781) * lu(k,3043)
         lu(k,3045) = lu(k,3045) - lu(k,1782) * lu(k,3043)
         lu(k,3046) = lu(k,3046) - lu(k,1783) * lu(k,3043)
         lu(k,3047) = lu(k,3047) - lu(k,1784) * lu(k,3043)
         lu(k,3048) = lu(k,3048) - lu(k,1785) * lu(k,3043)
         lu(k,3050) = lu(k,3050) - lu(k,1786) * lu(k,3043)
         lu(k,3075) = lu(k,3075) - lu(k,1787) * lu(k,3043)
         lu(k,3077) = lu(k,3077) - lu(k,1788) * lu(k,3043)
         lu(k,3078) = lu(k,3078) - lu(k,1789) * lu(k,3043)
         lu(k,3082) = lu(k,3082) - lu(k,1790) * lu(k,3043)
         lu(k,3084) = lu(k,3084) - lu(k,1791) * lu(k,3043)
         lu(k,3085) = lu(k,3085) - lu(k,1792) * lu(k,3043)
         lu(k,3087) = lu(k,3087) - lu(k,1793) * lu(k,3043)
         lu(k,3088) = lu(k,3088) - lu(k,1794) * lu(k,3043)
         lu(k,3092) = lu(k,3092) - lu(k,1795) * lu(k,3043)
         lu(k,3247) = lu(k,3247) - lu(k,1781) * lu(k,3246)
         lu(k,3248) = lu(k,3248) - lu(k,1782) * lu(k,3246)
         lu(k,3249) = lu(k,3249) - lu(k,1783) * lu(k,3246)
         lu(k,3250) = lu(k,3250) - lu(k,1784) * lu(k,3246)
         lu(k,3251) = lu(k,3251) - lu(k,1785) * lu(k,3246)
         lu(k,3253) = lu(k,3253) - lu(k,1786) * lu(k,3246)
         lu(k,3278) = lu(k,3278) - lu(k,1787) * lu(k,3246)
         lu(k,3280) = lu(k,3280) - lu(k,1788) * lu(k,3246)
         lu(k,3281) = lu(k,3281) - lu(k,1789) * lu(k,3246)
         lu(k,3285) = lu(k,3285) - lu(k,1790) * lu(k,3246)
         lu(k,3287) = lu(k,3287) - lu(k,1791) * lu(k,3246)
         lu(k,3288) = lu(k,3288) - lu(k,1792) * lu(k,3246)
         lu(k,3290) = lu(k,3290) - lu(k,1793) * lu(k,3246)
         lu(k,3291) = lu(k,3291) - lu(k,1794) * lu(k,3246)
         lu(k,3295) = lu(k,3295) - lu(k,1795) * lu(k,3246)
         lu(k,3388) = lu(k,3388) - lu(k,1781) * lu(k,3387)
         lu(k,3389) = lu(k,3389) - lu(k,1782) * lu(k,3387)
         lu(k,3390) = lu(k,3390) - lu(k,1783) * lu(k,3387)
         lu(k,3391) = lu(k,3391) - lu(k,1784) * lu(k,3387)
         lu(k,3392) = lu(k,3392) - lu(k,1785) * lu(k,3387)
         lu(k,3394) = lu(k,3394) - lu(k,1786) * lu(k,3387)
         lu(k,3419) = lu(k,3419) - lu(k,1787) * lu(k,3387)
         lu(k,3421) = lu(k,3421) - lu(k,1788) * lu(k,3387)
         lu(k,3422) = lu(k,3422) - lu(k,1789) * lu(k,3387)
         lu(k,3426) = lu(k,3426) - lu(k,1790) * lu(k,3387)
         lu(k,3428) = lu(k,3428) - lu(k,1791) * lu(k,3387)
         lu(k,3429) = lu(k,3429) - lu(k,1792) * lu(k,3387)
         lu(k,3431) = lu(k,3431) - lu(k,1793) * lu(k,3387)
         lu(k,3432) = lu(k,3432) - lu(k,1794) * lu(k,3387)
         lu(k,3436) = lu(k,3436) - lu(k,1795) * lu(k,3387)
         lu(k,3709) = lu(k,3709) - lu(k,1781) * lu(k,3708)
         lu(k,3710) = lu(k,3710) - lu(k,1782) * lu(k,3708)
         lu(k,3711) = lu(k,3711) - lu(k,1783) * lu(k,3708)
         lu(k,3712) = lu(k,3712) - lu(k,1784) * lu(k,3708)
         lu(k,3713) = lu(k,3713) - lu(k,1785) * lu(k,3708)
         lu(k,3715) = lu(k,3715) - lu(k,1786) * lu(k,3708)
         lu(k,3739) = lu(k,3739) - lu(k,1787) * lu(k,3708)
         lu(k,3741) = lu(k,3741) - lu(k,1788) * lu(k,3708)
         lu(k,3742) = lu(k,3742) - lu(k,1789) * lu(k,3708)
         lu(k,3746) = lu(k,3746) - lu(k,1790) * lu(k,3708)
         lu(k,3748) = lu(k,3748) - lu(k,1791) * lu(k,3708)
         lu(k,3749) = lu(k,3749) - lu(k,1792) * lu(k,3708)
         lu(k,3751) = lu(k,3751) - lu(k,1793) * lu(k,3708)
         lu(k,3752) = lu(k,3752) - lu(k,1794) * lu(k,3708)
         lu(k,3756) = lu(k,3756) - lu(k,1795) * lu(k,3708)
      end do
      end subroutine lu_fac38
      subroutine lu_fac39( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,1801) = 1._r8 / lu(k,1801)
         lu(k,1802) = lu(k,1802) * lu(k,1801)
         lu(k,1803) = lu(k,1803) * lu(k,1801)
         lu(k,1804) = lu(k,1804) * lu(k,1801)
         lu(k,1805) = lu(k,1805) * lu(k,1801)
         lu(k,1806) = lu(k,1806) * lu(k,1801)
         lu(k,1807) = lu(k,1807) * lu(k,1801)
         lu(k,1808) = lu(k,1808) * lu(k,1801)
         lu(k,1809) = lu(k,1809) * lu(k,1801)
         lu(k,1830) = lu(k,1830) - lu(k,1802) * lu(k,1828)
         lu(k,1834) = lu(k,1834) - lu(k,1803) * lu(k,1828)
         lu(k,1835) = lu(k,1835) - lu(k,1804) * lu(k,1828)
         lu(k,1836) = lu(k,1836) - lu(k,1805) * lu(k,1828)
         lu(k,1838) = lu(k,1838) - lu(k,1806) * lu(k,1828)
         lu(k,1839) = lu(k,1839) - lu(k,1807) * lu(k,1828)
         lu(k,1841) = lu(k,1841) - lu(k,1808) * lu(k,1828)
         lu(k,1842) = lu(k,1842) - lu(k,1809) * lu(k,1828)
         lu(k,1862) = lu(k,1862) - lu(k,1802) * lu(k,1861)
         lu(k,1864) = lu(k,1864) - lu(k,1803) * lu(k,1861)
         lu(k,1865) = lu(k,1865) - lu(k,1804) * lu(k,1861)
         lu(k,1866) = lu(k,1866) - lu(k,1805) * lu(k,1861)
         lu(k,1870) = lu(k,1870) - lu(k,1806) * lu(k,1861)
         lu(k,1871) = lu(k,1871) - lu(k,1807) * lu(k,1861)
         lu(k,1873) = lu(k,1873) - lu(k,1808) * lu(k,1861)
         lu(k,1874) = lu(k,1874) - lu(k,1809) * lu(k,1861)
         lu(k,1894) = lu(k,1894) - lu(k,1802) * lu(k,1892)
         lu(k,1900) = lu(k,1900) - lu(k,1803) * lu(k,1892)
         lu(k,1901) = lu(k,1901) - lu(k,1804) * lu(k,1892)
         lu(k,1902) = lu(k,1902) - lu(k,1805) * lu(k,1892)
         lu(k,1906) = lu(k,1906) - lu(k,1806) * lu(k,1892)
         lu(k,1907) = lu(k,1907) - lu(k,1807) * lu(k,1892)
         lu(k,1909) = lu(k,1909) - lu(k,1808) * lu(k,1892)
         lu(k,1910) = lu(k,1910) - lu(k,1809) * lu(k,1892)
         lu(k,1929) = lu(k,1929) - lu(k,1802) * lu(k,1928)
         lu(k,1932) = lu(k,1932) - lu(k,1803) * lu(k,1928)
         lu(k,1933) = lu(k,1933) - lu(k,1804) * lu(k,1928)
         lu(k,1934) = lu(k,1934) - lu(k,1805) * lu(k,1928)
         lu(k,1938) = lu(k,1938) - lu(k,1806) * lu(k,1928)
         lu(k,1939) = lu(k,1939) - lu(k,1807) * lu(k,1928)
         lu(k,1941) = lu(k,1941) - lu(k,1808) * lu(k,1928)
         lu(k,1942) = lu(k,1942) - lu(k,1809) * lu(k,1928)
         lu(k,1963) = lu(k,1963) - lu(k,1802) * lu(k,1962)
         lu(k,1966) = lu(k,1966) - lu(k,1803) * lu(k,1962)
         lu(k,1967) = lu(k,1967) - lu(k,1804) * lu(k,1962)
         lu(k,1968) = lu(k,1968) - lu(k,1805) * lu(k,1962)
         lu(k,1972) = lu(k,1972) - lu(k,1806) * lu(k,1962)
         lu(k,1973) = lu(k,1973) - lu(k,1807) * lu(k,1962)
         lu(k,1975) = lu(k,1975) - lu(k,1808) * lu(k,1962)
         lu(k,1976) = lu(k,1976) - lu(k,1809) * lu(k,1962)
         lu(k,1992) = lu(k,1992) - lu(k,1802) * lu(k,1991)
         lu(k,1994) = lu(k,1994) - lu(k,1803) * lu(k,1991)
         lu(k,1995) = lu(k,1995) - lu(k,1804) * lu(k,1991)
         lu(k,1996) = lu(k,1996) - lu(k,1805) * lu(k,1991)
         lu(k,2000) = lu(k,2000) - lu(k,1806) * lu(k,1991)
         lu(k,2001) = lu(k,2001) - lu(k,1807) * lu(k,1991)
         lu(k,2003) = lu(k,2003) - lu(k,1808) * lu(k,1991)
         lu(k,2004) = lu(k,2004) - lu(k,1809) * lu(k,1991)
         lu(k,2029) = lu(k,2029) - lu(k,1802) * lu(k,2028)
         lu(k,2036) = lu(k,2036) - lu(k,1803) * lu(k,2028)
         lu(k,2037) = lu(k,2037) - lu(k,1804) * lu(k,2028)
         lu(k,2038) = lu(k,2038) - lu(k,1805) * lu(k,2028)
         lu(k,2042) = lu(k,2042) - lu(k,1806) * lu(k,2028)
         lu(k,2043) = lu(k,2043) - lu(k,1807) * lu(k,2028)
         lu(k,2046) = lu(k,2046) - lu(k,1808) * lu(k,2028)
         lu(k,2047) = lu(k,2047) - lu(k,1809) * lu(k,2028)
         lu(k,2670) = lu(k,2670) - lu(k,1802) * lu(k,2668)
         lu(k,2699) = lu(k,2699) - lu(k,1803) * lu(k,2668)
         lu(k,2700) = lu(k,2700) - lu(k,1804) * lu(k,2668)
         lu(k,2701) = lu(k,2701) - lu(k,1805) * lu(k,2668)
         lu(k,2705) = lu(k,2705) - lu(k,1806) * lu(k,2668)
         lu(k,2706) = lu(k,2706) - lu(k,1807) * lu(k,2668)
         lu(k,2709) = lu(k,2709) - lu(k,1808) * lu(k,2668)
         lu(k,2710) = lu(k,2710) - lu(k,1809) * lu(k,2668)
         lu(k,2853) = lu(k,2853) - lu(k,1802) * lu(k,2851)
         lu(k,2882) = lu(k,2882) - lu(k,1803) * lu(k,2851)
         lu(k,2883) = lu(k,2883) - lu(k,1804) * lu(k,2851)
         lu(k,2884) = lu(k,2884) - lu(k,1805) * lu(k,2851)
         lu(k,2889) = lu(k,2889) - lu(k,1806) * lu(k,2851)
         lu(k,2891) = lu(k,2891) - lu(k,1807) * lu(k,2851)
         lu(k,2894) = lu(k,2894) - lu(k,1808) * lu(k,2851)
         lu(k,2895) = lu(k,2895) - lu(k,1809) * lu(k,2851)
         lu(k,2955) = lu(k,2955) - lu(k,1802) * lu(k,2953)
         lu(k,2983) = lu(k,2983) - lu(k,1803) * lu(k,2953)
         lu(k,2984) = lu(k,2984) - lu(k,1804) * lu(k,2953)
         lu(k,2985) = lu(k,2985) - lu(k,1805) * lu(k,2953)
         lu(k,2990) = lu(k,2990) - lu(k,1806) * lu(k,2953)
         lu(k,2992) = lu(k,2992) - lu(k,1807) * lu(k,2953)
         lu(k,2995) = lu(k,2995) - lu(k,1808) * lu(k,2953)
         lu(k,2996) = lu(k,2996) - lu(k,1809) * lu(k,2953)
         lu(k,3046) = lu(k,3046) - lu(k,1802) * lu(k,3044)
         lu(k,3075) = lu(k,3075) - lu(k,1803) * lu(k,3044)
         lu(k,3076) = lu(k,3076) - lu(k,1804) * lu(k,3044)
         lu(k,3077) = lu(k,3077) - lu(k,1805) * lu(k,3044)
         lu(k,3082) = lu(k,3082) - lu(k,1806) * lu(k,3044)
         lu(k,3084) = lu(k,3084) - lu(k,1807) * lu(k,3044)
         lu(k,3087) = lu(k,3087) - lu(k,1808) * lu(k,3044)
         lu(k,3088) = lu(k,3088) - lu(k,1809) * lu(k,3044)
         lu(k,3249) = lu(k,3249) - lu(k,1802) * lu(k,3247)
         lu(k,3278) = lu(k,3278) - lu(k,1803) * lu(k,3247)
         lu(k,3279) = lu(k,3279) - lu(k,1804) * lu(k,3247)
         lu(k,3280) = lu(k,3280) - lu(k,1805) * lu(k,3247)
         lu(k,3285) = lu(k,3285) - lu(k,1806) * lu(k,3247)
         lu(k,3287) = lu(k,3287) - lu(k,1807) * lu(k,3247)
         lu(k,3290) = lu(k,3290) - lu(k,1808) * lu(k,3247)
         lu(k,3291) = lu(k,3291) - lu(k,1809) * lu(k,3247)
         lu(k,3390) = lu(k,3390) - lu(k,1802) * lu(k,3388)
         lu(k,3419) = lu(k,3419) - lu(k,1803) * lu(k,3388)
         lu(k,3420) = lu(k,3420) - lu(k,1804) * lu(k,3388)
         lu(k,3421) = lu(k,3421) - lu(k,1805) * lu(k,3388)
         lu(k,3426) = lu(k,3426) - lu(k,1806) * lu(k,3388)
         lu(k,3428) = lu(k,3428) - lu(k,1807) * lu(k,3388)
         lu(k,3431) = lu(k,3431) - lu(k,1808) * lu(k,3388)
         lu(k,3432) = lu(k,3432) - lu(k,1809) * lu(k,3388)
         lu(k,3711) = lu(k,3711) - lu(k,1802) * lu(k,3709)
         lu(k,3739) = lu(k,3739) - lu(k,1803) * lu(k,3709)
         lu(k,3740) = lu(k,3740) - lu(k,1804) * lu(k,3709)
         lu(k,3741) = lu(k,3741) - lu(k,1805) * lu(k,3709)
         lu(k,3746) = lu(k,3746) - lu(k,1806) * lu(k,3709)
         lu(k,3748) = lu(k,3748) - lu(k,1807) * lu(k,3709)
         lu(k,3751) = lu(k,3751) - lu(k,1808) * lu(k,3709)
         lu(k,3752) = lu(k,3752) - lu(k,1809) * lu(k,3709)
         lu(k,1829) = 1._r8 / lu(k,1829)
         lu(k,1830) = lu(k,1830) * lu(k,1829)
         lu(k,1831) = lu(k,1831) * lu(k,1829)
         lu(k,1832) = lu(k,1832) * lu(k,1829)
         lu(k,1833) = lu(k,1833) * lu(k,1829)
         lu(k,1834) = lu(k,1834) * lu(k,1829)
         lu(k,1835) = lu(k,1835) * lu(k,1829)
         lu(k,1836) = lu(k,1836) * lu(k,1829)
         lu(k,1837) = lu(k,1837) * lu(k,1829)
         lu(k,1838) = lu(k,1838) * lu(k,1829)
         lu(k,1839) = lu(k,1839) * lu(k,1829)
         lu(k,1840) = lu(k,1840) * lu(k,1829)
         lu(k,1841) = lu(k,1841) * lu(k,1829)
         lu(k,1842) = lu(k,1842) * lu(k,1829)
         lu(k,1843) = lu(k,1843) * lu(k,1829)
         lu(k,1894) = lu(k,1894) - lu(k,1830) * lu(k,1893)
         lu(k,1895) = lu(k,1895) - lu(k,1831) * lu(k,1893)
         lu(k,1896) = lu(k,1896) - lu(k,1832) * lu(k,1893)
         lu(k,1898) = - lu(k,1833) * lu(k,1893)
         lu(k,1900) = lu(k,1900) - lu(k,1834) * lu(k,1893)
         lu(k,1901) = lu(k,1901) - lu(k,1835) * lu(k,1893)
         lu(k,1902) = lu(k,1902) - lu(k,1836) * lu(k,1893)
         lu(k,1903) = lu(k,1903) - lu(k,1837) * lu(k,1893)
         lu(k,1906) = lu(k,1906) - lu(k,1838) * lu(k,1893)
         lu(k,1907) = lu(k,1907) - lu(k,1839) * lu(k,1893)
         lu(k,1908) = lu(k,1908) - lu(k,1840) * lu(k,1893)
         lu(k,1909) = lu(k,1909) - lu(k,1841) * lu(k,1893)
         lu(k,1910) = lu(k,1910) - lu(k,1842) * lu(k,1893)
         lu(k,1911) = lu(k,1911) - lu(k,1843) * lu(k,1893)
         lu(k,2670) = lu(k,2670) - lu(k,1830) * lu(k,2669)
         lu(k,2671) = lu(k,2671) - lu(k,1831) * lu(k,2669)
         lu(k,2672) = lu(k,2672) - lu(k,1832) * lu(k,2669)
         lu(k,2674) = lu(k,2674) - lu(k,1833) * lu(k,2669)
         lu(k,2699) = lu(k,2699) - lu(k,1834) * lu(k,2669)
         lu(k,2700) = lu(k,2700) - lu(k,1835) * lu(k,2669)
         lu(k,2701) = lu(k,2701) - lu(k,1836) * lu(k,2669)
         lu(k,2702) = lu(k,2702) - lu(k,1837) * lu(k,2669)
         lu(k,2705) = lu(k,2705) - lu(k,1838) * lu(k,2669)
         lu(k,2706) = lu(k,2706) - lu(k,1839) * lu(k,2669)
         lu(k,2707) = lu(k,2707) - lu(k,1840) * lu(k,2669)
         lu(k,2709) = lu(k,2709) - lu(k,1841) * lu(k,2669)
         lu(k,2710) = lu(k,2710) - lu(k,1842) * lu(k,2669)
         lu(k,2713) = lu(k,2713) - lu(k,1843) * lu(k,2669)
         lu(k,2853) = lu(k,2853) - lu(k,1830) * lu(k,2852)
         lu(k,2854) = lu(k,2854) - lu(k,1831) * lu(k,2852)
         lu(k,2855) = lu(k,2855) - lu(k,1832) * lu(k,2852)
         lu(k,2857) = lu(k,2857) - lu(k,1833) * lu(k,2852)
         lu(k,2882) = lu(k,2882) - lu(k,1834) * lu(k,2852)
         lu(k,2883) = lu(k,2883) - lu(k,1835) * lu(k,2852)
         lu(k,2884) = lu(k,2884) - lu(k,1836) * lu(k,2852)
         lu(k,2885) = lu(k,2885) - lu(k,1837) * lu(k,2852)
         lu(k,2889) = lu(k,2889) - lu(k,1838) * lu(k,2852)
         lu(k,2891) = lu(k,2891) - lu(k,1839) * lu(k,2852)
         lu(k,2892) = lu(k,2892) - lu(k,1840) * lu(k,2852)
         lu(k,2894) = lu(k,2894) - lu(k,1841) * lu(k,2852)
         lu(k,2895) = lu(k,2895) - lu(k,1842) * lu(k,2852)
         lu(k,2899) = lu(k,2899) - lu(k,1843) * lu(k,2852)
         lu(k,2955) = lu(k,2955) - lu(k,1830) * lu(k,2954)
         lu(k,2956) = lu(k,2956) - lu(k,1831) * lu(k,2954)
         lu(k,2957) = lu(k,2957) - lu(k,1832) * lu(k,2954)
         lu(k,2959) = lu(k,2959) - lu(k,1833) * lu(k,2954)
         lu(k,2983) = lu(k,2983) - lu(k,1834) * lu(k,2954)
         lu(k,2984) = lu(k,2984) - lu(k,1835) * lu(k,2954)
         lu(k,2985) = lu(k,2985) - lu(k,1836) * lu(k,2954)
         lu(k,2986) = lu(k,2986) - lu(k,1837) * lu(k,2954)
         lu(k,2990) = lu(k,2990) - lu(k,1838) * lu(k,2954)
         lu(k,2992) = lu(k,2992) - lu(k,1839) * lu(k,2954)
         lu(k,2993) = lu(k,2993) - lu(k,1840) * lu(k,2954)
         lu(k,2995) = lu(k,2995) - lu(k,1841) * lu(k,2954)
         lu(k,2996) = lu(k,2996) - lu(k,1842) * lu(k,2954)
         lu(k,3000) = lu(k,3000) - lu(k,1843) * lu(k,2954)
         lu(k,3046) = lu(k,3046) - lu(k,1830) * lu(k,3045)
         lu(k,3047) = lu(k,3047) - lu(k,1831) * lu(k,3045)
         lu(k,3048) = lu(k,3048) - lu(k,1832) * lu(k,3045)
         lu(k,3050) = lu(k,3050) - lu(k,1833) * lu(k,3045)
         lu(k,3075) = lu(k,3075) - lu(k,1834) * lu(k,3045)
         lu(k,3076) = lu(k,3076) - lu(k,1835) * lu(k,3045)
         lu(k,3077) = lu(k,3077) - lu(k,1836) * lu(k,3045)
         lu(k,3078) = lu(k,3078) - lu(k,1837) * lu(k,3045)
         lu(k,3082) = lu(k,3082) - lu(k,1838) * lu(k,3045)
         lu(k,3084) = lu(k,3084) - lu(k,1839) * lu(k,3045)
         lu(k,3085) = lu(k,3085) - lu(k,1840) * lu(k,3045)
         lu(k,3087) = lu(k,3087) - lu(k,1841) * lu(k,3045)
         lu(k,3088) = lu(k,3088) - lu(k,1842) * lu(k,3045)
         lu(k,3092) = lu(k,3092) - lu(k,1843) * lu(k,3045)
         lu(k,3249) = lu(k,3249) - lu(k,1830) * lu(k,3248)
         lu(k,3250) = lu(k,3250) - lu(k,1831) * lu(k,3248)
         lu(k,3251) = lu(k,3251) - lu(k,1832) * lu(k,3248)
         lu(k,3253) = lu(k,3253) - lu(k,1833) * lu(k,3248)
         lu(k,3278) = lu(k,3278) - lu(k,1834) * lu(k,3248)
         lu(k,3279) = lu(k,3279) - lu(k,1835) * lu(k,3248)
         lu(k,3280) = lu(k,3280) - lu(k,1836) * lu(k,3248)
         lu(k,3281) = lu(k,3281) - lu(k,1837) * lu(k,3248)
         lu(k,3285) = lu(k,3285) - lu(k,1838) * lu(k,3248)
         lu(k,3287) = lu(k,3287) - lu(k,1839) * lu(k,3248)
         lu(k,3288) = lu(k,3288) - lu(k,1840) * lu(k,3248)
         lu(k,3290) = lu(k,3290) - lu(k,1841) * lu(k,3248)
         lu(k,3291) = lu(k,3291) - lu(k,1842) * lu(k,3248)
         lu(k,3295) = lu(k,3295) - lu(k,1843) * lu(k,3248)
         lu(k,3390) = lu(k,3390) - lu(k,1830) * lu(k,3389)
         lu(k,3391) = lu(k,3391) - lu(k,1831) * lu(k,3389)
         lu(k,3392) = lu(k,3392) - lu(k,1832) * lu(k,3389)
         lu(k,3394) = lu(k,3394) - lu(k,1833) * lu(k,3389)
         lu(k,3419) = lu(k,3419) - lu(k,1834) * lu(k,3389)
         lu(k,3420) = lu(k,3420) - lu(k,1835) * lu(k,3389)
         lu(k,3421) = lu(k,3421) - lu(k,1836) * lu(k,3389)
         lu(k,3422) = lu(k,3422) - lu(k,1837) * lu(k,3389)
         lu(k,3426) = lu(k,3426) - lu(k,1838) * lu(k,3389)
         lu(k,3428) = lu(k,3428) - lu(k,1839) * lu(k,3389)
         lu(k,3429) = lu(k,3429) - lu(k,1840) * lu(k,3389)
         lu(k,3431) = lu(k,3431) - lu(k,1841) * lu(k,3389)
         lu(k,3432) = lu(k,3432) - lu(k,1842) * lu(k,3389)
         lu(k,3436) = lu(k,3436) - lu(k,1843) * lu(k,3389)
         lu(k,3711) = lu(k,3711) - lu(k,1830) * lu(k,3710)
         lu(k,3712) = lu(k,3712) - lu(k,1831) * lu(k,3710)
         lu(k,3713) = lu(k,3713) - lu(k,1832) * lu(k,3710)
         lu(k,3715) = lu(k,3715) - lu(k,1833) * lu(k,3710)
         lu(k,3739) = lu(k,3739) - lu(k,1834) * lu(k,3710)
         lu(k,3740) = lu(k,3740) - lu(k,1835) * lu(k,3710)
         lu(k,3741) = lu(k,3741) - lu(k,1836) * lu(k,3710)
         lu(k,3742) = lu(k,3742) - lu(k,1837) * lu(k,3710)
         lu(k,3746) = lu(k,3746) - lu(k,1838) * lu(k,3710)
         lu(k,3748) = lu(k,3748) - lu(k,1839) * lu(k,3710)
         lu(k,3749) = lu(k,3749) - lu(k,1840) * lu(k,3710)
         lu(k,3751) = lu(k,3751) - lu(k,1841) * lu(k,3710)
         lu(k,3752) = lu(k,3752) - lu(k,1842) * lu(k,3710)
         lu(k,3756) = lu(k,3756) - lu(k,1843) * lu(k,3710)
         lu(k,1845) = 1._r8 / lu(k,1845)
         lu(k,1846) = lu(k,1846) * lu(k,1845)
         lu(k,1847) = lu(k,1847) * lu(k,1845)
         lu(k,1848) = lu(k,1848) * lu(k,1845)
         lu(k,1849) = lu(k,1849) * lu(k,1845)
         lu(k,1850) = lu(k,1850) * lu(k,1845)
         lu(k,1851) = lu(k,1851) * lu(k,1845)
         lu(k,1852) = lu(k,1852) * lu(k,1845)
         lu(k,1864) = lu(k,1864) - lu(k,1846) * lu(k,1862)
         lu(k,1865) = lu(k,1865) - lu(k,1847) * lu(k,1862)
         lu(k,1866) = lu(k,1866) - lu(k,1848) * lu(k,1862)
         lu(k,1869) = lu(k,1869) - lu(k,1849) * lu(k,1862)
         lu(k,1870) = lu(k,1870) - lu(k,1850) * lu(k,1862)
         lu(k,1874) = lu(k,1874) - lu(k,1851) * lu(k,1862)
         lu(k,1875) = lu(k,1875) - lu(k,1852) * lu(k,1862)
         lu(k,1900) = lu(k,1900) - lu(k,1846) * lu(k,1894)
         lu(k,1901) = lu(k,1901) - lu(k,1847) * lu(k,1894)
         lu(k,1902) = lu(k,1902) - lu(k,1848) * lu(k,1894)
         lu(k,1905) = lu(k,1905) - lu(k,1849) * lu(k,1894)
         lu(k,1906) = lu(k,1906) - lu(k,1850) * lu(k,1894)
         lu(k,1910) = lu(k,1910) - lu(k,1851) * lu(k,1894)
         lu(k,1911) = lu(k,1911) - lu(k,1852) * lu(k,1894)
         lu(k,1932) = lu(k,1932) - lu(k,1846) * lu(k,1929)
         lu(k,1933) = lu(k,1933) - lu(k,1847) * lu(k,1929)
         lu(k,1934) = lu(k,1934) - lu(k,1848) * lu(k,1929)
         lu(k,1937) = - lu(k,1849) * lu(k,1929)
         lu(k,1938) = lu(k,1938) - lu(k,1850) * lu(k,1929)
         lu(k,1942) = lu(k,1942) - lu(k,1851) * lu(k,1929)
         lu(k,1945) = lu(k,1945) - lu(k,1852) * lu(k,1929)
         lu(k,1966) = lu(k,1966) - lu(k,1846) * lu(k,1963)
         lu(k,1967) = lu(k,1967) - lu(k,1847) * lu(k,1963)
         lu(k,1968) = lu(k,1968) - lu(k,1848) * lu(k,1963)
         lu(k,1971) = - lu(k,1849) * lu(k,1963)
         lu(k,1972) = lu(k,1972) - lu(k,1850) * lu(k,1963)
         lu(k,1976) = lu(k,1976) - lu(k,1851) * lu(k,1963)
         lu(k,1979) = lu(k,1979) - lu(k,1852) * lu(k,1963)
         lu(k,1994) = lu(k,1994) - lu(k,1846) * lu(k,1992)
         lu(k,1995) = lu(k,1995) - lu(k,1847) * lu(k,1992)
         lu(k,1996) = lu(k,1996) - lu(k,1848) * lu(k,1992)
         lu(k,1999) = - lu(k,1849) * lu(k,1992)
         lu(k,2000) = lu(k,2000) - lu(k,1850) * lu(k,1992)
         lu(k,2004) = lu(k,2004) - lu(k,1851) * lu(k,1992)
         lu(k,2007) = lu(k,2007) - lu(k,1852) * lu(k,1992)
         lu(k,2036) = lu(k,2036) - lu(k,1846) * lu(k,2029)
         lu(k,2037) = lu(k,2037) - lu(k,1847) * lu(k,2029)
         lu(k,2038) = lu(k,2038) - lu(k,1848) * lu(k,2029)
         lu(k,2041) = lu(k,2041) - lu(k,1849) * lu(k,2029)
         lu(k,2042) = lu(k,2042) - lu(k,1850) * lu(k,2029)
         lu(k,2047) = lu(k,2047) - lu(k,1851) * lu(k,2029)
         lu(k,2050) = lu(k,2050) - lu(k,1852) * lu(k,2029)
         lu(k,2142) = lu(k,2142) - lu(k,1846) * lu(k,2140)
         lu(k,2143) = - lu(k,1847) * lu(k,2140)
         lu(k,2144) = - lu(k,1848) * lu(k,2140)
         lu(k,2146) = - lu(k,1849) * lu(k,2140)
         lu(k,2147) = lu(k,2147) - lu(k,1850) * lu(k,2140)
         lu(k,2151) = lu(k,2151) - lu(k,1851) * lu(k,2140)
         lu(k,2152) = lu(k,2152) - lu(k,1852) * lu(k,2140)
         lu(k,2699) = lu(k,2699) - lu(k,1846) * lu(k,2670)
         lu(k,2700) = lu(k,2700) - lu(k,1847) * lu(k,2670)
         lu(k,2701) = lu(k,2701) - lu(k,1848) * lu(k,2670)
         lu(k,2704) = lu(k,2704) - lu(k,1849) * lu(k,2670)
         lu(k,2705) = lu(k,2705) - lu(k,1850) * lu(k,2670)
         lu(k,2710) = lu(k,2710) - lu(k,1851) * lu(k,2670)
         lu(k,2713) = lu(k,2713) - lu(k,1852) * lu(k,2670)
         lu(k,2882) = lu(k,2882) - lu(k,1846) * lu(k,2853)
         lu(k,2883) = lu(k,2883) - lu(k,1847) * lu(k,2853)
         lu(k,2884) = lu(k,2884) - lu(k,1848) * lu(k,2853)
         lu(k,2887) = lu(k,2887) - lu(k,1849) * lu(k,2853)
         lu(k,2889) = lu(k,2889) - lu(k,1850) * lu(k,2853)
         lu(k,2895) = lu(k,2895) - lu(k,1851) * lu(k,2853)
         lu(k,2899) = lu(k,2899) - lu(k,1852) * lu(k,2853)
         lu(k,2983) = lu(k,2983) - lu(k,1846) * lu(k,2955)
         lu(k,2984) = lu(k,2984) - lu(k,1847) * lu(k,2955)
         lu(k,2985) = lu(k,2985) - lu(k,1848) * lu(k,2955)
         lu(k,2988) = lu(k,2988) - lu(k,1849) * lu(k,2955)
         lu(k,2990) = lu(k,2990) - lu(k,1850) * lu(k,2955)
         lu(k,2996) = lu(k,2996) - lu(k,1851) * lu(k,2955)
         lu(k,3000) = lu(k,3000) - lu(k,1852) * lu(k,2955)
         lu(k,3075) = lu(k,3075) - lu(k,1846) * lu(k,3046)
         lu(k,3076) = lu(k,3076) - lu(k,1847) * lu(k,3046)
         lu(k,3077) = lu(k,3077) - lu(k,1848) * lu(k,3046)
         lu(k,3080) = lu(k,3080) - lu(k,1849) * lu(k,3046)
         lu(k,3082) = lu(k,3082) - lu(k,1850) * lu(k,3046)
         lu(k,3088) = lu(k,3088) - lu(k,1851) * lu(k,3046)
         lu(k,3092) = lu(k,3092) - lu(k,1852) * lu(k,3046)
         lu(k,3278) = lu(k,3278) - lu(k,1846) * lu(k,3249)
         lu(k,3279) = lu(k,3279) - lu(k,1847) * lu(k,3249)
         lu(k,3280) = lu(k,3280) - lu(k,1848) * lu(k,3249)
         lu(k,3283) = lu(k,3283) - lu(k,1849) * lu(k,3249)
         lu(k,3285) = lu(k,3285) - lu(k,1850) * lu(k,3249)
         lu(k,3291) = lu(k,3291) - lu(k,1851) * lu(k,3249)
         lu(k,3295) = lu(k,3295) - lu(k,1852) * lu(k,3249)
         lu(k,3419) = lu(k,3419) - lu(k,1846) * lu(k,3390)
         lu(k,3420) = lu(k,3420) - lu(k,1847) * lu(k,3390)
         lu(k,3421) = lu(k,3421) - lu(k,1848) * lu(k,3390)
         lu(k,3424) = lu(k,3424) - lu(k,1849) * lu(k,3390)
         lu(k,3426) = lu(k,3426) - lu(k,1850) * lu(k,3390)
         lu(k,3432) = lu(k,3432) - lu(k,1851) * lu(k,3390)
         lu(k,3436) = lu(k,3436) - lu(k,1852) * lu(k,3390)
         lu(k,3499) = lu(k,3499) - lu(k,1846) * lu(k,3493)
         lu(k,3500) = lu(k,3500) - lu(k,1847) * lu(k,3493)
         lu(k,3501) = lu(k,3501) - lu(k,1848) * lu(k,3493)
         lu(k,3504) = lu(k,3504) - lu(k,1849) * lu(k,3493)
         lu(k,3506) = lu(k,3506) - lu(k,1850) * lu(k,3493)
         lu(k,3512) = lu(k,3512) - lu(k,1851) * lu(k,3493)
         lu(k,3516) = lu(k,3516) - lu(k,1852) * lu(k,3493)
         lu(k,3739) = lu(k,3739) - lu(k,1846) * lu(k,3711)
         lu(k,3740) = lu(k,3740) - lu(k,1847) * lu(k,3711)
         lu(k,3741) = lu(k,3741) - lu(k,1848) * lu(k,3711)
         lu(k,3744) = lu(k,3744) - lu(k,1849) * lu(k,3711)
         lu(k,3746) = lu(k,3746) - lu(k,1850) * lu(k,3711)
         lu(k,3752) = lu(k,3752) - lu(k,1851) * lu(k,3711)
         lu(k,3756) = lu(k,3756) - lu(k,1852) * lu(k,3711)
         lu(k,1863) = 1._r8 / lu(k,1863)
         lu(k,1864) = lu(k,1864) * lu(k,1863)
         lu(k,1865) = lu(k,1865) * lu(k,1863)
         lu(k,1866) = lu(k,1866) * lu(k,1863)
         lu(k,1867) = lu(k,1867) * lu(k,1863)
         lu(k,1868) = lu(k,1868) * lu(k,1863)
         lu(k,1869) = lu(k,1869) * lu(k,1863)
         lu(k,1870) = lu(k,1870) * lu(k,1863)
         lu(k,1871) = lu(k,1871) * lu(k,1863)
         lu(k,1872) = lu(k,1872) * lu(k,1863)
         lu(k,1873) = lu(k,1873) * lu(k,1863)
         lu(k,1874) = lu(k,1874) * lu(k,1863)
         lu(k,1875) = lu(k,1875) * lu(k,1863)
         lu(k,1900) = lu(k,1900) - lu(k,1864) * lu(k,1895)
         lu(k,1901) = lu(k,1901) - lu(k,1865) * lu(k,1895)
         lu(k,1902) = lu(k,1902) - lu(k,1866) * lu(k,1895)
         lu(k,1903) = lu(k,1903) - lu(k,1867) * lu(k,1895)
         lu(k,1904) = lu(k,1904) - lu(k,1868) * lu(k,1895)
         lu(k,1905) = lu(k,1905) - lu(k,1869) * lu(k,1895)
         lu(k,1906) = lu(k,1906) - lu(k,1870) * lu(k,1895)
         lu(k,1907) = lu(k,1907) - lu(k,1871) * lu(k,1895)
         lu(k,1908) = lu(k,1908) - lu(k,1872) * lu(k,1895)
         lu(k,1909) = lu(k,1909) - lu(k,1873) * lu(k,1895)
         lu(k,1910) = lu(k,1910) - lu(k,1874) * lu(k,1895)
         lu(k,1911) = lu(k,1911) - lu(k,1875) * lu(k,1895)
         lu(k,2036) = lu(k,2036) - lu(k,1864) * lu(k,2030)
         lu(k,2037) = lu(k,2037) - lu(k,1865) * lu(k,2030)
         lu(k,2038) = lu(k,2038) - lu(k,1866) * lu(k,2030)
         lu(k,2039) = lu(k,2039) - lu(k,1867) * lu(k,2030)
         lu(k,2040) = lu(k,2040) - lu(k,1868) * lu(k,2030)
         lu(k,2041) = lu(k,2041) - lu(k,1869) * lu(k,2030)
         lu(k,2042) = lu(k,2042) - lu(k,1870) * lu(k,2030)
         lu(k,2043) = lu(k,2043) - lu(k,1871) * lu(k,2030)
         lu(k,2044) = lu(k,2044) - lu(k,1872) * lu(k,2030)
         lu(k,2046) = lu(k,2046) - lu(k,1873) * lu(k,2030)
         lu(k,2047) = lu(k,2047) - lu(k,1874) * lu(k,2030)
         lu(k,2050) = lu(k,2050) - lu(k,1875) * lu(k,2030)
         lu(k,2699) = lu(k,2699) - lu(k,1864) * lu(k,2671)
         lu(k,2700) = lu(k,2700) - lu(k,1865) * lu(k,2671)
         lu(k,2701) = lu(k,2701) - lu(k,1866) * lu(k,2671)
         lu(k,2702) = lu(k,2702) - lu(k,1867) * lu(k,2671)
         lu(k,2703) = lu(k,2703) - lu(k,1868) * lu(k,2671)
         lu(k,2704) = lu(k,2704) - lu(k,1869) * lu(k,2671)
         lu(k,2705) = lu(k,2705) - lu(k,1870) * lu(k,2671)
         lu(k,2706) = lu(k,2706) - lu(k,1871) * lu(k,2671)
         lu(k,2707) = lu(k,2707) - lu(k,1872) * lu(k,2671)
         lu(k,2709) = lu(k,2709) - lu(k,1873) * lu(k,2671)
         lu(k,2710) = lu(k,2710) - lu(k,1874) * lu(k,2671)
         lu(k,2713) = lu(k,2713) - lu(k,1875) * lu(k,2671)
         lu(k,2882) = lu(k,2882) - lu(k,1864) * lu(k,2854)
         lu(k,2883) = lu(k,2883) - lu(k,1865) * lu(k,2854)
         lu(k,2884) = lu(k,2884) - lu(k,1866) * lu(k,2854)
         lu(k,2885) = lu(k,2885) - lu(k,1867) * lu(k,2854)
         lu(k,2886) = lu(k,2886) - lu(k,1868) * lu(k,2854)
         lu(k,2887) = lu(k,2887) - lu(k,1869) * lu(k,2854)
         lu(k,2889) = lu(k,2889) - lu(k,1870) * lu(k,2854)
         lu(k,2891) = lu(k,2891) - lu(k,1871) * lu(k,2854)
         lu(k,2892) = lu(k,2892) - lu(k,1872) * lu(k,2854)
         lu(k,2894) = lu(k,2894) - lu(k,1873) * lu(k,2854)
         lu(k,2895) = lu(k,2895) - lu(k,1874) * lu(k,2854)
         lu(k,2899) = lu(k,2899) - lu(k,1875) * lu(k,2854)
         lu(k,2983) = lu(k,2983) - lu(k,1864) * lu(k,2956)
         lu(k,2984) = lu(k,2984) - lu(k,1865) * lu(k,2956)
         lu(k,2985) = lu(k,2985) - lu(k,1866) * lu(k,2956)
         lu(k,2986) = lu(k,2986) - lu(k,1867) * lu(k,2956)
         lu(k,2987) = lu(k,2987) - lu(k,1868) * lu(k,2956)
         lu(k,2988) = lu(k,2988) - lu(k,1869) * lu(k,2956)
         lu(k,2990) = lu(k,2990) - lu(k,1870) * lu(k,2956)
         lu(k,2992) = lu(k,2992) - lu(k,1871) * lu(k,2956)
         lu(k,2993) = lu(k,2993) - lu(k,1872) * lu(k,2956)
         lu(k,2995) = lu(k,2995) - lu(k,1873) * lu(k,2956)
         lu(k,2996) = lu(k,2996) - lu(k,1874) * lu(k,2956)
         lu(k,3000) = lu(k,3000) - lu(k,1875) * lu(k,2956)
         lu(k,3075) = lu(k,3075) - lu(k,1864) * lu(k,3047)
         lu(k,3076) = lu(k,3076) - lu(k,1865) * lu(k,3047)
         lu(k,3077) = lu(k,3077) - lu(k,1866) * lu(k,3047)
         lu(k,3078) = lu(k,3078) - lu(k,1867) * lu(k,3047)
         lu(k,3079) = lu(k,3079) - lu(k,1868) * lu(k,3047)
         lu(k,3080) = lu(k,3080) - lu(k,1869) * lu(k,3047)
         lu(k,3082) = lu(k,3082) - lu(k,1870) * lu(k,3047)
         lu(k,3084) = lu(k,3084) - lu(k,1871) * lu(k,3047)
         lu(k,3085) = lu(k,3085) - lu(k,1872) * lu(k,3047)
         lu(k,3087) = lu(k,3087) - lu(k,1873) * lu(k,3047)
         lu(k,3088) = lu(k,3088) - lu(k,1874) * lu(k,3047)
         lu(k,3092) = lu(k,3092) - lu(k,1875) * lu(k,3047)
         lu(k,3278) = lu(k,3278) - lu(k,1864) * lu(k,3250)
         lu(k,3279) = lu(k,3279) - lu(k,1865) * lu(k,3250)
         lu(k,3280) = lu(k,3280) - lu(k,1866) * lu(k,3250)
         lu(k,3281) = lu(k,3281) - lu(k,1867) * lu(k,3250)
         lu(k,3282) = lu(k,3282) - lu(k,1868) * lu(k,3250)
         lu(k,3283) = lu(k,3283) - lu(k,1869) * lu(k,3250)
         lu(k,3285) = lu(k,3285) - lu(k,1870) * lu(k,3250)
         lu(k,3287) = lu(k,3287) - lu(k,1871) * lu(k,3250)
         lu(k,3288) = lu(k,3288) - lu(k,1872) * lu(k,3250)
         lu(k,3290) = lu(k,3290) - lu(k,1873) * lu(k,3250)
         lu(k,3291) = lu(k,3291) - lu(k,1874) * lu(k,3250)
         lu(k,3295) = lu(k,3295) - lu(k,1875) * lu(k,3250)
         lu(k,3419) = lu(k,3419) - lu(k,1864) * lu(k,3391)
         lu(k,3420) = lu(k,3420) - lu(k,1865) * lu(k,3391)
         lu(k,3421) = lu(k,3421) - lu(k,1866) * lu(k,3391)
         lu(k,3422) = lu(k,3422) - lu(k,1867) * lu(k,3391)
         lu(k,3423) = lu(k,3423) - lu(k,1868) * lu(k,3391)
         lu(k,3424) = lu(k,3424) - lu(k,1869) * lu(k,3391)
         lu(k,3426) = lu(k,3426) - lu(k,1870) * lu(k,3391)
         lu(k,3428) = lu(k,3428) - lu(k,1871) * lu(k,3391)
         lu(k,3429) = lu(k,3429) - lu(k,1872) * lu(k,3391)
         lu(k,3431) = lu(k,3431) - lu(k,1873) * lu(k,3391)
         lu(k,3432) = lu(k,3432) - lu(k,1874) * lu(k,3391)
         lu(k,3436) = lu(k,3436) - lu(k,1875) * lu(k,3391)
         lu(k,3739) = lu(k,3739) - lu(k,1864) * lu(k,3712)
         lu(k,3740) = lu(k,3740) - lu(k,1865) * lu(k,3712)
         lu(k,3741) = lu(k,3741) - lu(k,1866) * lu(k,3712)
         lu(k,3742) = lu(k,3742) - lu(k,1867) * lu(k,3712)
         lu(k,3743) = lu(k,3743) - lu(k,1868) * lu(k,3712)
         lu(k,3744) = lu(k,3744) - lu(k,1869) * lu(k,3712)
         lu(k,3746) = lu(k,3746) - lu(k,1870) * lu(k,3712)
         lu(k,3748) = lu(k,3748) - lu(k,1871) * lu(k,3712)
         lu(k,3749) = lu(k,3749) - lu(k,1872) * lu(k,3712)
         lu(k,3751) = lu(k,3751) - lu(k,1873) * lu(k,3712)
         lu(k,3752) = lu(k,3752) - lu(k,1874) * lu(k,3712)
         lu(k,3756) = lu(k,3756) - lu(k,1875) * lu(k,3712)
      end do
      end subroutine lu_fac39
      subroutine lu_fac40( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,1896) = 1._r8 / lu(k,1896)
         lu(k,1897) = lu(k,1897) * lu(k,1896)
         lu(k,1898) = lu(k,1898) * lu(k,1896)
         lu(k,1899) = lu(k,1899) * lu(k,1896)
         lu(k,1900) = lu(k,1900) * lu(k,1896)
         lu(k,1901) = lu(k,1901) * lu(k,1896)
         lu(k,1902) = lu(k,1902) * lu(k,1896)
         lu(k,1903) = lu(k,1903) * lu(k,1896)
         lu(k,1904) = lu(k,1904) * lu(k,1896)
         lu(k,1905) = lu(k,1905) * lu(k,1896)
         lu(k,1906) = lu(k,1906) * lu(k,1896)
         lu(k,1907) = lu(k,1907) * lu(k,1896)
         lu(k,1908) = lu(k,1908) * lu(k,1896)
         lu(k,1909) = lu(k,1909) * lu(k,1896)
         lu(k,1910) = lu(k,1910) * lu(k,1896)
         lu(k,1911) = lu(k,1911) * lu(k,1896)
         lu(k,2673) = lu(k,2673) - lu(k,1897) * lu(k,2672)
         lu(k,2674) = lu(k,2674) - lu(k,1898) * lu(k,2672)
         lu(k,2681) = lu(k,2681) - lu(k,1899) * lu(k,2672)
         lu(k,2699) = lu(k,2699) - lu(k,1900) * lu(k,2672)
         lu(k,2700) = lu(k,2700) - lu(k,1901) * lu(k,2672)
         lu(k,2701) = lu(k,2701) - lu(k,1902) * lu(k,2672)
         lu(k,2702) = lu(k,2702) - lu(k,1903) * lu(k,2672)
         lu(k,2703) = lu(k,2703) - lu(k,1904) * lu(k,2672)
         lu(k,2704) = lu(k,2704) - lu(k,1905) * lu(k,2672)
         lu(k,2705) = lu(k,2705) - lu(k,1906) * lu(k,2672)
         lu(k,2706) = lu(k,2706) - lu(k,1907) * lu(k,2672)
         lu(k,2707) = lu(k,2707) - lu(k,1908) * lu(k,2672)
         lu(k,2709) = lu(k,2709) - lu(k,1909) * lu(k,2672)
         lu(k,2710) = lu(k,2710) - lu(k,1910) * lu(k,2672)
         lu(k,2713) = lu(k,2713) - lu(k,1911) * lu(k,2672)
         lu(k,2856) = lu(k,2856) - lu(k,1897) * lu(k,2855)
         lu(k,2857) = lu(k,2857) - lu(k,1898) * lu(k,2855)
         lu(k,2864) = lu(k,2864) - lu(k,1899) * lu(k,2855)
         lu(k,2882) = lu(k,2882) - lu(k,1900) * lu(k,2855)
         lu(k,2883) = lu(k,2883) - lu(k,1901) * lu(k,2855)
         lu(k,2884) = lu(k,2884) - lu(k,1902) * lu(k,2855)
         lu(k,2885) = lu(k,2885) - lu(k,1903) * lu(k,2855)
         lu(k,2886) = lu(k,2886) - lu(k,1904) * lu(k,2855)
         lu(k,2887) = lu(k,2887) - lu(k,1905) * lu(k,2855)
         lu(k,2889) = lu(k,2889) - lu(k,1906) * lu(k,2855)
         lu(k,2891) = lu(k,2891) - lu(k,1907) * lu(k,2855)
         lu(k,2892) = lu(k,2892) - lu(k,1908) * lu(k,2855)
         lu(k,2894) = lu(k,2894) - lu(k,1909) * lu(k,2855)
         lu(k,2895) = lu(k,2895) - lu(k,1910) * lu(k,2855)
         lu(k,2899) = lu(k,2899) - lu(k,1911) * lu(k,2855)
         lu(k,2958) = lu(k,2958) - lu(k,1897) * lu(k,2957)
         lu(k,2959) = lu(k,2959) - lu(k,1898) * lu(k,2957)
         lu(k,2965) = lu(k,2965) - lu(k,1899) * lu(k,2957)
         lu(k,2983) = lu(k,2983) - lu(k,1900) * lu(k,2957)
         lu(k,2984) = lu(k,2984) - lu(k,1901) * lu(k,2957)
         lu(k,2985) = lu(k,2985) - lu(k,1902) * lu(k,2957)
         lu(k,2986) = lu(k,2986) - lu(k,1903) * lu(k,2957)
         lu(k,2987) = lu(k,2987) - lu(k,1904) * lu(k,2957)
         lu(k,2988) = lu(k,2988) - lu(k,1905) * lu(k,2957)
         lu(k,2990) = lu(k,2990) - lu(k,1906) * lu(k,2957)
         lu(k,2992) = lu(k,2992) - lu(k,1907) * lu(k,2957)
         lu(k,2993) = lu(k,2993) - lu(k,1908) * lu(k,2957)
         lu(k,2995) = lu(k,2995) - lu(k,1909) * lu(k,2957)
         lu(k,2996) = lu(k,2996) - lu(k,1910) * lu(k,2957)
         lu(k,3000) = lu(k,3000) - lu(k,1911) * lu(k,2957)
         lu(k,3049) = lu(k,3049) - lu(k,1897) * lu(k,3048)
         lu(k,3050) = lu(k,3050) - lu(k,1898) * lu(k,3048)
         lu(k,3057) = lu(k,3057) - lu(k,1899) * lu(k,3048)
         lu(k,3075) = lu(k,3075) - lu(k,1900) * lu(k,3048)
         lu(k,3076) = lu(k,3076) - lu(k,1901) * lu(k,3048)
         lu(k,3077) = lu(k,3077) - lu(k,1902) * lu(k,3048)
         lu(k,3078) = lu(k,3078) - lu(k,1903) * lu(k,3048)
         lu(k,3079) = lu(k,3079) - lu(k,1904) * lu(k,3048)
         lu(k,3080) = lu(k,3080) - lu(k,1905) * lu(k,3048)
         lu(k,3082) = lu(k,3082) - lu(k,1906) * lu(k,3048)
         lu(k,3084) = lu(k,3084) - lu(k,1907) * lu(k,3048)
         lu(k,3085) = lu(k,3085) - lu(k,1908) * lu(k,3048)
         lu(k,3087) = lu(k,3087) - lu(k,1909) * lu(k,3048)
         lu(k,3088) = lu(k,3088) - lu(k,1910) * lu(k,3048)
         lu(k,3092) = lu(k,3092) - lu(k,1911) * lu(k,3048)
         lu(k,3252) = lu(k,3252) - lu(k,1897) * lu(k,3251)
         lu(k,3253) = lu(k,3253) - lu(k,1898) * lu(k,3251)
         lu(k,3260) = lu(k,3260) - lu(k,1899) * lu(k,3251)
         lu(k,3278) = lu(k,3278) - lu(k,1900) * lu(k,3251)
         lu(k,3279) = lu(k,3279) - lu(k,1901) * lu(k,3251)
         lu(k,3280) = lu(k,3280) - lu(k,1902) * lu(k,3251)
         lu(k,3281) = lu(k,3281) - lu(k,1903) * lu(k,3251)
         lu(k,3282) = lu(k,3282) - lu(k,1904) * lu(k,3251)
         lu(k,3283) = lu(k,3283) - lu(k,1905) * lu(k,3251)
         lu(k,3285) = lu(k,3285) - lu(k,1906) * lu(k,3251)
         lu(k,3287) = lu(k,3287) - lu(k,1907) * lu(k,3251)
         lu(k,3288) = lu(k,3288) - lu(k,1908) * lu(k,3251)
         lu(k,3290) = lu(k,3290) - lu(k,1909) * lu(k,3251)
         lu(k,3291) = lu(k,3291) - lu(k,1910) * lu(k,3251)
         lu(k,3295) = lu(k,3295) - lu(k,1911) * lu(k,3251)
         lu(k,3393) = lu(k,3393) - lu(k,1897) * lu(k,3392)
         lu(k,3394) = lu(k,3394) - lu(k,1898) * lu(k,3392)
         lu(k,3401) = lu(k,3401) - lu(k,1899) * lu(k,3392)
         lu(k,3419) = lu(k,3419) - lu(k,1900) * lu(k,3392)
         lu(k,3420) = lu(k,3420) - lu(k,1901) * lu(k,3392)
         lu(k,3421) = lu(k,3421) - lu(k,1902) * lu(k,3392)
         lu(k,3422) = lu(k,3422) - lu(k,1903) * lu(k,3392)
         lu(k,3423) = lu(k,3423) - lu(k,1904) * lu(k,3392)
         lu(k,3424) = lu(k,3424) - lu(k,1905) * lu(k,3392)
         lu(k,3426) = lu(k,3426) - lu(k,1906) * lu(k,3392)
         lu(k,3428) = lu(k,3428) - lu(k,1907) * lu(k,3392)
         lu(k,3429) = lu(k,3429) - lu(k,1908) * lu(k,3392)
         lu(k,3431) = lu(k,3431) - lu(k,1909) * lu(k,3392)
         lu(k,3432) = lu(k,3432) - lu(k,1910) * lu(k,3392)
         lu(k,3436) = lu(k,3436) - lu(k,1911) * lu(k,3392)
         lu(k,3714) = lu(k,3714) - lu(k,1897) * lu(k,3713)
         lu(k,3715) = lu(k,3715) - lu(k,1898) * lu(k,3713)
         lu(k,3721) = lu(k,3721) - lu(k,1899) * lu(k,3713)
         lu(k,3739) = lu(k,3739) - lu(k,1900) * lu(k,3713)
         lu(k,3740) = lu(k,3740) - lu(k,1901) * lu(k,3713)
         lu(k,3741) = lu(k,3741) - lu(k,1902) * lu(k,3713)
         lu(k,3742) = lu(k,3742) - lu(k,1903) * lu(k,3713)
         lu(k,3743) = lu(k,3743) - lu(k,1904) * lu(k,3713)
         lu(k,3744) = lu(k,3744) - lu(k,1905) * lu(k,3713)
         lu(k,3746) = lu(k,3746) - lu(k,1906) * lu(k,3713)
         lu(k,3748) = lu(k,3748) - lu(k,1907) * lu(k,3713)
         lu(k,3749) = lu(k,3749) - lu(k,1908) * lu(k,3713)
         lu(k,3751) = lu(k,3751) - lu(k,1909) * lu(k,3713)
         lu(k,3752) = lu(k,3752) - lu(k,1910) * lu(k,3713)
         lu(k,3756) = lu(k,3756) - lu(k,1911) * lu(k,3713)
         lu(k,1930) = 1._r8 / lu(k,1930)
         lu(k,1931) = lu(k,1931) * lu(k,1930)
         lu(k,1932) = lu(k,1932) * lu(k,1930)
         lu(k,1933) = lu(k,1933) * lu(k,1930)
         lu(k,1934) = lu(k,1934) * lu(k,1930)
         lu(k,1935) = lu(k,1935) * lu(k,1930)
         lu(k,1936) = lu(k,1936) * lu(k,1930)
         lu(k,1937) = lu(k,1937) * lu(k,1930)
         lu(k,1938) = lu(k,1938) * lu(k,1930)
         lu(k,1939) = lu(k,1939) * lu(k,1930)
         lu(k,1940) = lu(k,1940) * lu(k,1930)
         lu(k,1941) = lu(k,1941) * lu(k,1930)
         lu(k,1942) = lu(k,1942) * lu(k,1930)
         lu(k,1943) = lu(k,1943) * lu(k,1930)
         lu(k,1944) = lu(k,1944) * lu(k,1930)
         lu(k,1945) = lu(k,1945) * lu(k,1930)
         lu(k,2033) = lu(k,2033) - lu(k,1931) * lu(k,2031)
         lu(k,2036) = lu(k,2036) - lu(k,1932) * lu(k,2031)
         lu(k,2037) = lu(k,2037) - lu(k,1933) * lu(k,2031)
         lu(k,2038) = lu(k,2038) - lu(k,1934) * lu(k,2031)
         lu(k,2039) = lu(k,2039) - lu(k,1935) * lu(k,2031)
         lu(k,2040) = lu(k,2040) - lu(k,1936) * lu(k,2031)
         lu(k,2041) = lu(k,2041) - lu(k,1937) * lu(k,2031)
         lu(k,2042) = lu(k,2042) - lu(k,1938) * lu(k,2031)
         lu(k,2043) = lu(k,2043) - lu(k,1939) * lu(k,2031)
         lu(k,2045) = lu(k,2045) - lu(k,1940) * lu(k,2031)
         lu(k,2046) = lu(k,2046) - lu(k,1941) * lu(k,2031)
         lu(k,2047) = lu(k,2047) - lu(k,1942) * lu(k,2031)
         lu(k,2048) = lu(k,2048) - lu(k,1943) * lu(k,2031)
         lu(k,2049) = lu(k,2049) - lu(k,1944) * lu(k,2031)
         lu(k,2050) = lu(k,2050) - lu(k,1945) * lu(k,2031)
         lu(k,2675) = lu(k,2675) - lu(k,1931) * lu(k,2673)
         lu(k,2699) = lu(k,2699) - lu(k,1932) * lu(k,2673)
         lu(k,2700) = lu(k,2700) - lu(k,1933) * lu(k,2673)
         lu(k,2701) = lu(k,2701) - lu(k,1934) * lu(k,2673)
         lu(k,2702) = lu(k,2702) - lu(k,1935) * lu(k,2673)
         lu(k,2703) = lu(k,2703) - lu(k,1936) * lu(k,2673)
         lu(k,2704) = lu(k,2704) - lu(k,1937) * lu(k,2673)
         lu(k,2705) = lu(k,2705) - lu(k,1938) * lu(k,2673)
         lu(k,2706) = lu(k,2706) - lu(k,1939) * lu(k,2673)
         lu(k,2708) = - lu(k,1940) * lu(k,2673)
         lu(k,2709) = lu(k,2709) - lu(k,1941) * lu(k,2673)
         lu(k,2710) = lu(k,2710) - lu(k,1942) * lu(k,2673)
         lu(k,2711) = - lu(k,1943) * lu(k,2673)
         lu(k,2712) = - lu(k,1944) * lu(k,2673)
         lu(k,2713) = lu(k,2713) - lu(k,1945) * lu(k,2673)
         lu(k,2858) = lu(k,2858) - lu(k,1931) * lu(k,2856)
         lu(k,2882) = lu(k,2882) - lu(k,1932) * lu(k,2856)
         lu(k,2883) = lu(k,2883) - lu(k,1933) * lu(k,2856)
         lu(k,2884) = lu(k,2884) - lu(k,1934) * lu(k,2856)
         lu(k,2885) = lu(k,2885) - lu(k,1935) * lu(k,2856)
         lu(k,2886) = lu(k,2886) - lu(k,1936) * lu(k,2856)
         lu(k,2887) = lu(k,2887) - lu(k,1937) * lu(k,2856)
         lu(k,2889) = lu(k,2889) - lu(k,1938) * lu(k,2856)
         lu(k,2891) = lu(k,2891) - lu(k,1939) * lu(k,2856)
         lu(k,2893) = lu(k,2893) - lu(k,1940) * lu(k,2856)
         lu(k,2894) = lu(k,2894) - lu(k,1941) * lu(k,2856)
         lu(k,2895) = lu(k,2895) - lu(k,1942) * lu(k,2856)
         lu(k,2896) = - lu(k,1943) * lu(k,2856)
         lu(k,2898) = lu(k,2898) - lu(k,1944) * lu(k,2856)
         lu(k,2899) = lu(k,2899) - lu(k,1945) * lu(k,2856)
         lu(k,2960) = lu(k,2960) - lu(k,1931) * lu(k,2958)
         lu(k,2983) = lu(k,2983) - lu(k,1932) * lu(k,2958)
         lu(k,2984) = lu(k,2984) - lu(k,1933) * lu(k,2958)
         lu(k,2985) = lu(k,2985) - lu(k,1934) * lu(k,2958)
         lu(k,2986) = lu(k,2986) - lu(k,1935) * lu(k,2958)
         lu(k,2987) = lu(k,2987) - lu(k,1936) * lu(k,2958)
         lu(k,2988) = lu(k,2988) - lu(k,1937) * lu(k,2958)
         lu(k,2990) = lu(k,2990) - lu(k,1938) * lu(k,2958)
         lu(k,2992) = lu(k,2992) - lu(k,1939) * lu(k,2958)
         lu(k,2994) = lu(k,2994) - lu(k,1940) * lu(k,2958)
         lu(k,2995) = lu(k,2995) - lu(k,1941) * lu(k,2958)
         lu(k,2996) = lu(k,2996) - lu(k,1942) * lu(k,2958)
         lu(k,2997) = lu(k,2997) - lu(k,1943) * lu(k,2958)
         lu(k,2999) = lu(k,2999) - lu(k,1944) * lu(k,2958)
         lu(k,3000) = lu(k,3000) - lu(k,1945) * lu(k,2958)
         lu(k,3051) = lu(k,3051) - lu(k,1931) * lu(k,3049)
         lu(k,3075) = lu(k,3075) - lu(k,1932) * lu(k,3049)
         lu(k,3076) = lu(k,3076) - lu(k,1933) * lu(k,3049)
         lu(k,3077) = lu(k,3077) - lu(k,1934) * lu(k,3049)
         lu(k,3078) = lu(k,3078) - lu(k,1935) * lu(k,3049)
         lu(k,3079) = lu(k,3079) - lu(k,1936) * lu(k,3049)
         lu(k,3080) = lu(k,3080) - lu(k,1937) * lu(k,3049)
         lu(k,3082) = lu(k,3082) - lu(k,1938) * lu(k,3049)
         lu(k,3084) = lu(k,3084) - lu(k,1939) * lu(k,3049)
         lu(k,3086) = lu(k,3086) - lu(k,1940) * lu(k,3049)
         lu(k,3087) = lu(k,3087) - lu(k,1941) * lu(k,3049)
         lu(k,3088) = lu(k,3088) - lu(k,1942) * lu(k,3049)
         lu(k,3089) = lu(k,3089) - lu(k,1943) * lu(k,3049)
         lu(k,3091) = lu(k,3091) - lu(k,1944) * lu(k,3049)
         lu(k,3092) = lu(k,3092) - lu(k,1945) * lu(k,3049)
         lu(k,3254) = lu(k,3254) - lu(k,1931) * lu(k,3252)
         lu(k,3278) = lu(k,3278) - lu(k,1932) * lu(k,3252)
         lu(k,3279) = lu(k,3279) - lu(k,1933) * lu(k,3252)
         lu(k,3280) = lu(k,3280) - lu(k,1934) * lu(k,3252)
         lu(k,3281) = lu(k,3281) - lu(k,1935) * lu(k,3252)
         lu(k,3282) = lu(k,3282) - lu(k,1936) * lu(k,3252)
         lu(k,3283) = lu(k,3283) - lu(k,1937) * lu(k,3252)
         lu(k,3285) = lu(k,3285) - lu(k,1938) * lu(k,3252)
         lu(k,3287) = lu(k,3287) - lu(k,1939) * lu(k,3252)
         lu(k,3289) = lu(k,3289) - lu(k,1940) * lu(k,3252)
         lu(k,3290) = lu(k,3290) - lu(k,1941) * lu(k,3252)
         lu(k,3291) = lu(k,3291) - lu(k,1942) * lu(k,3252)
         lu(k,3292) = lu(k,3292) - lu(k,1943) * lu(k,3252)
         lu(k,3294) = lu(k,3294) - lu(k,1944) * lu(k,3252)
         lu(k,3295) = lu(k,3295) - lu(k,1945) * lu(k,3252)
         lu(k,3395) = lu(k,3395) - lu(k,1931) * lu(k,3393)
         lu(k,3419) = lu(k,3419) - lu(k,1932) * lu(k,3393)
         lu(k,3420) = lu(k,3420) - lu(k,1933) * lu(k,3393)
         lu(k,3421) = lu(k,3421) - lu(k,1934) * lu(k,3393)
         lu(k,3422) = lu(k,3422) - lu(k,1935) * lu(k,3393)
         lu(k,3423) = lu(k,3423) - lu(k,1936) * lu(k,3393)
         lu(k,3424) = lu(k,3424) - lu(k,1937) * lu(k,3393)
         lu(k,3426) = lu(k,3426) - lu(k,1938) * lu(k,3393)
         lu(k,3428) = lu(k,3428) - lu(k,1939) * lu(k,3393)
         lu(k,3430) = - lu(k,1940) * lu(k,3393)
         lu(k,3431) = lu(k,3431) - lu(k,1941) * lu(k,3393)
         lu(k,3432) = lu(k,3432) - lu(k,1942) * lu(k,3393)
         lu(k,3433) = - lu(k,1943) * lu(k,3393)
         lu(k,3435) = lu(k,3435) - lu(k,1944) * lu(k,3393)
         lu(k,3436) = lu(k,3436) - lu(k,1945) * lu(k,3393)
         lu(k,3716) = lu(k,3716) - lu(k,1931) * lu(k,3714)
         lu(k,3739) = lu(k,3739) - lu(k,1932) * lu(k,3714)
         lu(k,3740) = lu(k,3740) - lu(k,1933) * lu(k,3714)
         lu(k,3741) = lu(k,3741) - lu(k,1934) * lu(k,3714)
         lu(k,3742) = lu(k,3742) - lu(k,1935) * lu(k,3714)
         lu(k,3743) = lu(k,3743) - lu(k,1936) * lu(k,3714)
         lu(k,3744) = lu(k,3744) - lu(k,1937) * lu(k,3714)
         lu(k,3746) = lu(k,3746) - lu(k,1938) * lu(k,3714)
         lu(k,3748) = lu(k,3748) - lu(k,1939) * lu(k,3714)
         lu(k,3750) = lu(k,3750) - lu(k,1940) * lu(k,3714)
         lu(k,3751) = lu(k,3751) - lu(k,1941) * lu(k,3714)
         lu(k,3752) = lu(k,3752) - lu(k,1942) * lu(k,3714)
         lu(k,3753) = lu(k,3753) - lu(k,1943) * lu(k,3714)
         lu(k,3755) = lu(k,3755) - lu(k,1944) * lu(k,3714)
         lu(k,3756) = lu(k,3756) - lu(k,1945) * lu(k,3714)
         lu(k,1964) = 1._r8 / lu(k,1964)
         lu(k,1965) = lu(k,1965) * lu(k,1964)
         lu(k,1966) = lu(k,1966) * lu(k,1964)
         lu(k,1967) = lu(k,1967) * lu(k,1964)
         lu(k,1968) = lu(k,1968) * lu(k,1964)
         lu(k,1969) = lu(k,1969) * lu(k,1964)
         lu(k,1970) = lu(k,1970) * lu(k,1964)
         lu(k,1971) = lu(k,1971) * lu(k,1964)
         lu(k,1972) = lu(k,1972) * lu(k,1964)
         lu(k,1973) = lu(k,1973) * lu(k,1964)
         lu(k,1974) = lu(k,1974) * lu(k,1964)
         lu(k,1975) = lu(k,1975) * lu(k,1964)
         lu(k,1976) = lu(k,1976) * lu(k,1964)
         lu(k,1977) = lu(k,1977) * lu(k,1964)
         lu(k,1978) = lu(k,1978) * lu(k,1964)
         lu(k,1979) = lu(k,1979) * lu(k,1964)
         lu(k,2033) = lu(k,2033) - lu(k,1965) * lu(k,2032)
         lu(k,2036) = lu(k,2036) - lu(k,1966) * lu(k,2032)
         lu(k,2037) = lu(k,2037) - lu(k,1967) * lu(k,2032)
         lu(k,2038) = lu(k,2038) - lu(k,1968) * lu(k,2032)
         lu(k,2039) = lu(k,2039) - lu(k,1969) * lu(k,2032)
         lu(k,2040) = lu(k,2040) - lu(k,1970) * lu(k,2032)
         lu(k,2041) = lu(k,2041) - lu(k,1971) * lu(k,2032)
         lu(k,2042) = lu(k,2042) - lu(k,1972) * lu(k,2032)
         lu(k,2043) = lu(k,2043) - lu(k,1973) * lu(k,2032)
         lu(k,2045) = lu(k,2045) - lu(k,1974) * lu(k,2032)
         lu(k,2046) = lu(k,2046) - lu(k,1975) * lu(k,2032)
         lu(k,2047) = lu(k,2047) - lu(k,1976) * lu(k,2032)
         lu(k,2048) = lu(k,2048) - lu(k,1977) * lu(k,2032)
         lu(k,2049) = lu(k,2049) - lu(k,1978) * lu(k,2032)
         lu(k,2050) = lu(k,2050) - lu(k,1979) * lu(k,2032)
         lu(k,2675) = lu(k,2675) - lu(k,1965) * lu(k,2674)
         lu(k,2699) = lu(k,2699) - lu(k,1966) * lu(k,2674)
         lu(k,2700) = lu(k,2700) - lu(k,1967) * lu(k,2674)
         lu(k,2701) = lu(k,2701) - lu(k,1968) * lu(k,2674)
         lu(k,2702) = lu(k,2702) - lu(k,1969) * lu(k,2674)
         lu(k,2703) = lu(k,2703) - lu(k,1970) * lu(k,2674)
         lu(k,2704) = lu(k,2704) - lu(k,1971) * lu(k,2674)
         lu(k,2705) = lu(k,2705) - lu(k,1972) * lu(k,2674)
         lu(k,2706) = lu(k,2706) - lu(k,1973) * lu(k,2674)
         lu(k,2708) = lu(k,2708) - lu(k,1974) * lu(k,2674)
         lu(k,2709) = lu(k,2709) - lu(k,1975) * lu(k,2674)
         lu(k,2710) = lu(k,2710) - lu(k,1976) * lu(k,2674)
         lu(k,2711) = lu(k,2711) - lu(k,1977) * lu(k,2674)
         lu(k,2712) = lu(k,2712) - lu(k,1978) * lu(k,2674)
         lu(k,2713) = lu(k,2713) - lu(k,1979) * lu(k,2674)
         lu(k,2858) = lu(k,2858) - lu(k,1965) * lu(k,2857)
         lu(k,2882) = lu(k,2882) - lu(k,1966) * lu(k,2857)
         lu(k,2883) = lu(k,2883) - lu(k,1967) * lu(k,2857)
         lu(k,2884) = lu(k,2884) - lu(k,1968) * lu(k,2857)
         lu(k,2885) = lu(k,2885) - lu(k,1969) * lu(k,2857)
         lu(k,2886) = lu(k,2886) - lu(k,1970) * lu(k,2857)
         lu(k,2887) = lu(k,2887) - lu(k,1971) * lu(k,2857)
         lu(k,2889) = lu(k,2889) - lu(k,1972) * lu(k,2857)
         lu(k,2891) = lu(k,2891) - lu(k,1973) * lu(k,2857)
         lu(k,2893) = lu(k,2893) - lu(k,1974) * lu(k,2857)
         lu(k,2894) = lu(k,2894) - lu(k,1975) * lu(k,2857)
         lu(k,2895) = lu(k,2895) - lu(k,1976) * lu(k,2857)
         lu(k,2896) = lu(k,2896) - lu(k,1977) * lu(k,2857)
         lu(k,2898) = lu(k,2898) - lu(k,1978) * lu(k,2857)
         lu(k,2899) = lu(k,2899) - lu(k,1979) * lu(k,2857)
         lu(k,2960) = lu(k,2960) - lu(k,1965) * lu(k,2959)
         lu(k,2983) = lu(k,2983) - lu(k,1966) * lu(k,2959)
         lu(k,2984) = lu(k,2984) - lu(k,1967) * lu(k,2959)
         lu(k,2985) = lu(k,2985) - lu(k,1968) * lu(k,2959)
         lu(k,2986) = lu(k,2986) - lu(k,1969) * lu(k,2959)
         lu(k,2987) = lu(k,2987) - lu(k,1970) * lu(k,2959)
         lu(k,2988) = lu(k,2988) - lu(k,1971) * lu(k,2959)
         lu(k,2990) = lu(k,2990) - lu(k,1972) * lu(k,2959)
         lu(k,2992) = lu(k,2992) - lu(k,1973) * lu(k,2959)
         lu(k,2994) = lu(k,2994) - lu(k,1974) * lu(k,2959)
         lu(k,2995) = lu(k,2995) - lu(k,1975) * lu(k,2959)
         lu(k,2996) = lu(k,2996) - lu(k,1976) * lu(k,2959)
         lu(k,2997) = lu(k,2997) - lu(k,1977) * lu(k,2959)
         lu(k,2999) = lu(k,2999) - lu(k,1978) * lu(k,2959)
         lu(k,3000) = lu(k,3000) - lu(k,1979) * lu(k,2959)
         lu(k,3051) = lu(k,3051) - lu(k,1965) * lu(k,3050)
         lu(k,3075) = lu(k,3075) - lu(k,1966) * lu(k,3050)
         lu(k,3076) = lu(k,3076) - lu(k,1967) * lu(k,3050)
         lu(k,3077) = lu(k,3077) - lu(k,1968) * lu(k,3050)
         lu(k,3078) = lu(k,3078) - lu(k,1969) * lu(k,3050)
         lu(k,3079) = lu(k,3079) - lu(k,1970) * lu(k,3050)
         lu(k,3080) = lu(k,3080) - lu(k,1971) * lu(k,3050)
         lu(k,3082) = lu(k,3082) - lu(k,1972) * lu(k,3050)
         lu(k,3084) = lu(k,3084) - lu(k,1973) * lu(k,3050)
         lu(k,3086) = lu(k,3086) - lu(k,1974) * lu(k,3050)
         lu(k,3087) = lu(k,3087) - lu(k,1975) * lu(k,3050)
         lu(k,3088) = lu(k,3088) - lu(k,1976) * lu(k,3050)
         lu(k,3089) = lu(k,3089) - lu(k,1977) * lu(k,3050)
         lu(k,3091) = lu(k,3091) - lu(k,1978) * lu(k,3050)
         lu(k,3092) = lu(k,3092) - lu(k,1979) * lu(k,3050)
         lu(k,3254) = lu(k,3254) - lu(k,1965) * lu(k,3253)
         lu(k,3278) = lu(k,3278) - lu(k,1966) * lu(k,3253)
         lu(k,3279) = lu(k,3279) - lu(k,1967) * lu(k,3253)
         lu(k,3280) = lu(k,3280) - lu(k,1968) * lu(k,3253)
         lu(k,3281) = lu(k,3281) - lu(k,1969) * lu(k,3253)
         lu(k,3282) = lu(k,3282) - lu(k,1970) * lu(k,3253)
         lu(k,3283) = lu(k,3283) - lu(k,1971) * lu(k,3253)
         lu(k,3285) = lu(k,3285) - lu(k,1972) * lu(k,3253)
         lu(k,3287) = lu(k,3287) - lu(k,1973) * lu(k,3253)
         lu(k,3289) = lu(k,3289) - lu(k,1974) * lu(k,3253)
         lu(k,3290) = lu(k,3290) - lu(k,1975) * lu(k,3253)
         lu(k,3291) = lu(k,3291) - lu(k,1976) * lu(k,3253)
         lu(k,3292) = lu(k,3292) - lu(k,1977) * lu(k,3253)
         lu(k,3294) = lu(k,3294) - lu(k,1978) * lu(k,3253)
         lu(k,3295) = lu(k,3295) - lu(k,1979) * lu(k,3253)
         lu(k,3395) = lu(k,3395) - lu(k,1965) * lu(k,3394)
         lu(k,3419) = lu(k,3419) - lu(k,1966) * lu(k,3394)
         lu(k,3420) = lu(k,3420) - lu(k,1967) * lu(k,3394)
         lu(k,3421) = lu(k,3421) - lu(k,1968) * lu(k,3394)
         lu(k,3422) = lu(k,3422) - lu(k,1969) * lu(k,3394)
         lu(k,3423) = lu(k,3423) - lu(k,1970) * lu(k,3394)
         lu(k,3424) = lu(k,3424) - lu(k,1971) * lu(k,3394)
         lu(k,3426) = lu(k,3426) - lu(k,1972) * lu(k,3394)
         lu(k,3428) = lu(k,3428) - lu(k,1973) * lu(k,3394)
         lu(k,3430) = lu(k,3430) - lu(k,1974) * lu(k,3394)
         lu(k,3431) = lu(k,3431) - lu(k,1975) * lu(k,3394)
         lu(k,3432) = lu(k,3432) - lu(k,1976) * lu(k,3394)
         lu(k,3433) = lu(k,3433) - lu(k,1977) * lu(k,3394)
         lu(k,3435) = lu(k,3435) - lu(k,1978) * lu(k,3394)
         lu(k,3436) = lu(k,3436) - lu(k,1979) * lu(k,3394)
         lu(k,3716) = lu(k,3716) - lu(k,1965) * lu(k,3715)
         lu(k,3739) = lu(k,3739) - lu(k,1966) * lu(k,3715)
         lu(k,3740) = lu(k,3740) - lu(k,1967) * lu(k,3715)
         lu(k,3741) = lu(k,3741) - lu(k,1968) * lu(k,3715)
         lu(k,3742) = lu(k,3742) - lu(k,1969) * lu(k,3715)
         lu(k,3743) = lu(k,3743) - lu(k,1970) * lu(k,3715)
         lu(k,3744) = lu(k,3744) - lu(k,1971) * lu(k,3715)
         lu(k,3746) = lu(k,3746) - lu(k,1972) * lu(k,3715)
         lu(k,3748) = lu(k,3748) - lu(k,1973) * lu(k,3715)
         lu(k,3750) = lu(k,3750) - lu(k,1974) * lu(k,3715)
         lu(k,3751) = lu(k,3751) - lu(k,1975) * lu(k,3715)
         lu(k,3752) = lu(k,3752) - lu(k,1976) * lu(k,3715)
         lu(k,3753) = lu(k,3753) - lu(k,1977) * lu(k,3715)
         lu(k,3755) = lu(k,3755) - lu(k,1978) * lu(k,3715)
         lu(k,3756) = lu(k,3756) - lu(k,1979) * lu(k,3715)
      end do
      end subroutine lu_fac40
      subroutine lu_fac41( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,1993) = 1._r8 / lu(k,1993)
         lu(k,1994) = lu(k,1994) * lu(k,1993)
         lu(k,1995) = lu(k,1995) * lu(k,1993)
         lu(k,1996) = lu(k,1996) * lu(k,1993)
         lu(k,1997) = lu(k,1997) * lu(k,1993)
         lu(k,1998) = lu(k,1998) * lu(k,1993)
         lu(k,1999) = lu(k,1999) * lu(k,1993)
         lu(k,2000) = lu(k,2000) * lu(k,1993)
         lu(k,2001) = lu(k,2001) * lu(k,1993)
         lu(k,2002) = lu(k,2002) * lu(k,1993)
         lu(k,2003) = lu(k,2003) * lu(k,1993)
         lu(k,2004) = lu(k,2004) * lu(k,1993)
         lu(k,2005) = lu(k,2005) * lu(k,1993)
         lu(k,2006) = lu(k,2006) * lu(k,1993)
         lu(k,2007) = lu(k,2007) * lu(k,1993)
         lu(k,2036) = lu(k,2036) - lu(k,1994) * lu(k,2033)
         lu(k,2037) = lu(k,2037) - lu(k,1995) * lu(k,2033)
         lu(k,2038) = lu(k,2038) - lu(k,1996) * lu(k,2033)
         lu(k,2039) = lu(k,2039) - lu(k,1997) * lu(k,2033)
         lu(k,2040) = lu(k,2040) - lu(k,1998) * lu(k,2033)
         lu(k,2041) = lu(k,2041) - lu(k,1999) * lu(k,2033)
         lu(k,2042) = lu(k,2042) - lu(k,2000) * lu(k,2033)
         lu(k,2043) = lu(k,2043) - lu(k,2001) * lu(k,2033)
         lu(k,2045) = lu(k,2045) - lu(k,2002) * lu(k,2033)
         lu(k,2046) = lu(k,2046) - lu(k,2003) * lu(k,2033)
         lu(k,2047) = lu(k,2047) - lu(k,2004) * lu(k,2033)
         lu(k,2048) = lu(k,2048) - lu(k,2005) * lu(k,2033)
         lu(k,2049) = lu(k,2049) - lu(k,2006) * lu(k,2033)
         lu(k,2050) = lu(k,2050) - lu(k,2007) * lu(k,2033)
         lu(k,2699) = lu(k,2699) - lu(k,1994) * lu(k,2675)
         lu(k,2700) = lu(k,2700) - lu(k,1995) * lu(k,2675)
         lu(k,2701) = lu(k,2701) - lu(k,1996) * lu(k,2675)
         lu(k,2702) = lu(k,2702) - lu(k,1997) * lu(k,2675)
         lu(k,2703) = lu(k,2703) - lu(k,1998) * lu(k,2675)
         lu(k,2704) = lu(k,2704) - lu(k,1999) * lu(k,2675)
         lu(k,2705) = lu(k,2705) - lu(k,2000) * lu(k,2675)
         lu(k,2706) = lu(k,2706) - lu(k,2001) * lu(k,2675)
         lu(k,2708) = lu(k,2708) - lu(k,2002) * lu(k,2675)
         lu(k,2709) = lu(k,2709) - lu(k,2003) * lu(k,2675)
         lu(k,2710) = lu(k,2710) - lu(k,2004) * lu(k,2675)
         lu(k,2711) = lu(k,2711) - lu(k,2005) * lu(k,2675)
         lu(k,2712) = lu(k,2712) - lu(k,2006) * lu(k,2675)
         lu(k,2713) = lu(k,2713) - lu(k,2007) * lu(k,2675)
         lu(k,2882) = lu(k,2882) - lu(k,1994) * lu(k,2858)
         lu(k,2883) = lu(k,2883) - lu(k,1995) * lu(k,2858)
         lu(k,2884) = lu(k,2884) - lu(k,1996) * lu(k,2858)
         lu(k,2885) = lu(k,2885) - lu(k,1997) * lu(k,2858)
         lu(k,2886) = lu(k,2886) - lu(k,1998) * lu(k,2858)
         lu(k,2887) = lu(k,2887) - lu(k,1999) * lu(k,2858)
         lu(k,2889) = lu(k,2889) - lu(k,2000) * lu(k,2858)
         lu(k,2891) = lu(k,2891) - lu(k,2001) * lu(k,2858)
         lu(k,2893) = lu(k,2893) - lu(k,2002) * lu(k,2858)
         lu(k,2894) = lu(k,2894) - lu(k,2003) * lu(k,2858)
         lu(k,2895) = lu(k,2895) - lu(k,2004) * lu(k,2858)
         lu(k,2896) = lu(k,2896) - lu(k,2005) * lu(k,2858)
         lu(k,2898) = lu(k,2898) - lu(k,2006) * lu(k,2858)
         lu(k,2899) = lu(k,2899) - lu(k,2007) * lu(k,2858)
         lu(k,2983) = lu(k,2983) - lu(k,1994) * lu(k,2960)
         lu(k,2984) = lu(k,2984) - lu(k,1995) * lu(k,2960)
         lu(k,2985) = lu(k,2985) - lu(k,1996) * lu(k,2960)
         lu(k,2986) = lu(k,2986) - lu(k,1997) * lu(k,2960)
         lu(k,2987) = lu(k,2987) - lu(k,1998) * lu(k,2960)
         lu(k,2988) = lu(k,2988) - lu(k,1999) * lu(k,2960)
         lu(k,2990) = lu(k,2990) - lu(k,2000) * lu(k,2960)
         lu(k,2992) = lu(k,2992) - lu(k,2001) * lu(k,2960)
         lu(k,2994) = lu(k,2994) - lu(k,2002) * lu(k,2960)
         lu(k,2995) = lu(k,2995) - lu(k,2003) * lu(k,2960)
         lu(k,2996) = lu(k,2996) - lu(k,2004) * lu(k,2960)
         lu(k,2997) = lu(k,2997) - lu(k,2005) * lu(k,2960)
         lu(k,2999) = lu(k,2999) - lu(k,2006) * lu(k,2960)
         lu(k,3000) = lu(k,3000) - lu(k,2007) * lu(k,2960)
         lu(k,3075) = lu(k,3075) - lu(k,1994) * lu(k,3051)
         lu(k,3076) = lu(k,3076) - lu(k,1995) * lu(k,3051)
         lu(k,3077) = lu(k,3077) - lu(k,1996) * lu(k,3051)
         lu(k,3078) = lu(k,3078) - lu(k,1997) * lu(k,3051)
         lu(k,3079) = lu(k,3079) - lu(k,1998) * lu(k,3051)
         lu(k,3080) = lu(k,3080) - lu(k,1999) * lu(k,3051)
         lu(k,3082) = lu(k,3082) - lu(k,2000) * lu(k,3051)
         lu(k,3084) = lu(k,3084) - lu(k,2001) * lu(k,3051)
         lu(k,3086) = lu(k,3086) - lu(k,2002) * lu(k,3051)
         lu(k,3087) = lu(k,3087) - lu(k,2003) * lu(k,3051)
         lu(k,3088) = lu(k,3088) - lu(k,2004) * lu(k,3051)
         lu(k,3089) = lu(k,3089) - lu(k,2005) * lu(k,3051)
         lu(k,3091) = lu(k,3091) - lu(k,2006) * lu(k,3051)
         lu(k,3092) = lu(k,3092) - lu(k,2007) * lu(k,3051)
         lu(k,3278) = lu(k,3278) - lu(k,1994) * lu(k,3254)
         lu(k,3279) = lu(k,3279) - lu(k,1995) * lu(k,3254)
         lu(k,3280) = lu(k,3280) - lu(k,1996) * lu(k,3254)
         lu(k,3281) = lu(k,3281) - lu(k,1997) * lu(k,3254)
         lu(k,3282) = lu(k,3282) - lu(k,1998) * lu(k,3254)
         lu(k,3283) = lu(k,3283) - lu(k,1999) * lu(k,3254)
         lu(k,3285) = lu(k,3285) - lu(k,2000) * lu(k,3254)
         lu(k,3287) = lu(k,3287) - lu(k,2001) * lu(k,3254)
         lu(k,3289) = lu(k,3289) - lu(k,2002) * lu(k,3254)
         lu(k,3290) = lu(k,3290) - lu(k,2003) * lu(k,3254)
         lu(k,3291) = lu(k,3291) - lu(k,2004) * lu(k,3254)
         lu(k,3292) = lu(k,3292) - lu(k,2005) * lu(k,3254)
         lu(k,3294) = lu(k,3294) - lu(k,2006) * lu(k,3254)
         lu(k,3295) = lu(k,3295) - lu(k,2007) * lu(k,3254)
         lu(k,3419) = lu(k,3419) - lu(k,1994) * lu(k,3395)
         lu(k,3420) = lu(k,3420) - lu(k,1995) * lu(k,3395)
         lu(k,3421) = lu(k,3421) - lu(k,1996) * lu(k,3395)
         lu(k,3422) = lu(k,3422) - lu(k,1997) * lu(k,3395)
         lu(k,3423) = lu(k,3423) - lu(k,1998) * lu(k,3395)
         lu(k,3424) = lu(k,3424) - lu(k,1999) * lu(k,3395)
         lu(k,3426) = lu(k,3426) - lu(k,2000) * lu(k,3395)
         lu(k,3428) = lu(k,3428) - lu(k,2001) * lu(k,3395)
         lu(k,3430) = lu(k,3430) - lu(k,2002) * lu(k,3395)
         lu(k,3431) = lu(k,3431) - lu(k,2003) * lu(k,3395)
         lu(k,3432) = lu(k,3432) - lu(k,2004) * lu(k,3395)
         lu(k,3433) = lu(k,3433) - lu(k,2005) * lu(k,3395)
         lu(k,3435) = lu(k,3435) - lu(k,2006) * lu(k,3395)
         lu(k,3436) = lu(k,3436) - lu(k,2007) * lu(k,3395)
         lu(k,3739) = lu(k,3739) - lu(k,1994) * lu(k,3716)
         lu(k,3740) = lu(k,3740) - lu(k,1995) * lu(k,3716)
         lu(k,3741) = lu(k,3741) - lu(k,1996) * lu(k,3716)
         lu(k,3742) = lu(k,3742) - lu(k,1997) * lu(k,3716)
         lu(k,3743) = lu(k,3743) - lu(k,1998) * lu(k,3716)
         lu(k,3744) = lu(k,3744) - lu(k,1999) * lu(k,3716)
         lu(k,3746) = lu(k,3746) - lu(k,2000) * lu(k,3716)
         lu(k,3748) = lu(k,3748) - lu(k,2001) * lu(k,3716)
         lu(k,3750) = lu(k,3750) - lu(k,2002) * lu(k,3716)
         lu(k,3751) = lu(k,3751) - lu(k,2003) * lu(k,3716)
         lu(k,3752) = lu(k,3752) - lu(k,2004) * lu(k,3716)
         lu(k,3753) = lu(k,3753) - lu(k,2005) * lu(k,3716)
         lu(k,3755) = lu(k,3755) - lu(k,2006) * lu(k,3716)
         lu(k,3756) = lu(k,3756) - lu(k,2007) * lu(k,3716)
         lu(k,2034) = 1._r8 / lu(k,2034)
         lu(k,2035) = lu(k,2035) * lu(k,2034)
         lu(k,2036) = lu(k,2036) * lu(k,2034)
         lu(k,2037) = lu(k,2037) * lu(k,2034)
         lu(k,2038) = lu(k,2038) * lu(k,2034)
         lu(k,2039) = lu(k,2039) * lu(k,2034)
         lu(k,2040) = lu(k,2040) * lu(k,2034)
         lu(k,2041) = lu(k,2041) * lu(k,2034)
         lu(k,2042) = lu(k,2042) * lu(k,2034)
         lu(k,2043) = lu(k,2043) * lu(k,2034)
         lu(k,2044) = lu(k,2044) * lu(k,2034)
         lu(k,2045) = lu(k,2045) * lu(k,2034)
         lu(k,2046) = lu(k,2046) * lu(k,2034)
         lu(k,2047) = lu(k,2047) * lu(k,2034)
         lu(k,2048) = lu(k,2048) * lu(k,2034)
         lu(k,2049) = lu(k,2049) * lu(k,2034)
         lu(k,2050) = lu(k,2050) * lu(k,2034)
         lu(k,2681) = lu(k,2681) - lu(k,2035) * lu(k,2676)
         lu(k,2699) = lu(k,2699) - lu(k,2036) * lu(k,2676)
         lu(k,2700) = lu(k,2700) - lu(k,2037) * lu(k,2676)
         lu(k,2701) = lu(k,2701) - lu(k,2038) * lu(k,2676)
         lu(k,2702) = lu(k,2702) - lu(k,2039) * lu(k,2676)
         lu(k,2703) = lu(k,2703) - lu(k,2040) * lu(k,2676)
         lu(k,2704) = lu(k,2704) - lu(k,2041) * lu(k,2676)
         lu(k,2705) = lu(k,2705) - lu(k,2042) * lu(k,2676)
         lu(k,2706) = lu(k,2706) - lu(k,2043) * lu(k,2676)
         lu(k,2707) = lu(k,2707) - lu(k,2044) * lu(k,2676)
         lu(k,2708) = lu(k,2708) - lu(k,2045) * lu(k,2676)
         lu(k,2709) = lu(k,2709) - lu(k,2046) * lu(k,2676)
         lu(k,2710) = lu(k,2710) - lu(k,2047) * lu(k,2676)
         lu(k,2711) = lu(k,2711) - lu(k,2048) * lu(k,2676)
         lu(k,2712) = lu(k,2712) - lu(k,2049) * lu(k,2676)
         lu(k,2713) = lu(k,2713) - lu(k,2050) * lu(k,2676)
         lu(k,2864) = lu(k,2864) - lu(k,2035) * lu(k,2859)
         lu(k,2882) = lu(k,2882) - lu(k,2036) * lu(k,2859)
         lu(k,2883) = lu(k,2883) - lu(k,2037) * lu(k,2859)
         lu(k,2884) = lu(k,2884) - lu(k,2038) * lu(k,2859)
         lu(k,2885) = lu(k,2885) - lu(k,2039) * lu(k,2859)
         lu(k,2886) = lu(k,2886) - lu(k,2040) * lu(k,2859)
         lu(k,2887) = lu(k,2887) - lu(k,2041) * lu(k,2859)
         lu(k,2889) = lu(k,2889) - lu(k,2042) * lu(k,2859)
         lu(k,2891) = lu(k,2891) - lu(k,2043) * lu(k,2859)
         lu(k,2892) = lu(k,2892) - lu(k,2044) * lu(k,2859)
         lu(k,2893) = lu(k,2893) - lu(k,2045) * lu(k,2859)
         lu(k,2894) = lu(k,2894) - lu(k,2046) * lu(k,2859)
         lu(k,2895) = lu(k,2895) - lu(k,2047) * lu(k,2859)
         lu(k,2896) = lu(k,2896) - lu(k,2048) * lu(k,2859)
         lu(k,2898) = lu(k,2898) - lu(k,2049) * lu(k,2859)
         lu(k,2899) = lu(k,2899) - lu(k,2050) * lu(k,2859)
         lu(k,2965) = lu(k,2965) - lu(k,2035) * lu(k,2961)
         lu(k,2983) = lu(k,2983) - lu(k,2036) * lu(k,2961)
         lu(k,2984) = lu(k,2984) - lu(k,2037) * lu(k,2961)
         lu(k,2985) = lu(k,2985) - lu(k,2038) * lu(k,2961)
         lu(k,2986) = lu(k,2986) - lu(k,2039) * lu(k,2961)
         lu(k,2987) = lu(k,2987) - lu(k,2040) * lu(k,2961)
         lu(k,2988) = lu(k,2988) - lu(k,2041) * lu(k,2961)
         lu(k,2990) = lu(k,2990) - lu(k,2042) * lu(k,2961)
         lu(k,2992) = lu(k,2992) - lu(k,2043) * lu(k,2961)
         lu(k,2993) = lu(k,2993) - lu(k,2044) * lu(k,2961)
         lu(k,2994) = lu(k,2994) - lu(k,2045) * lu(k,2961)
         lu(k,2995) = lu(k,2995) - lu(k,2046) * lu(k,2961)
         lu(k,2996) = lu(k,2996) - lu(k,2047) * lu(k,2961)
         lu(k,2997) = lu(k,2997) - lu(k,2048) * lu(k,2961)
         lu(k,2999) = lu(k,2999) - lu(k,2049) * lu(k,2961)
         lu(k,3000) = lu(k,3000) - lu(k,2050) * lu(k,2961)
         lu(k,3057) = lu(k,3057) - lu(k,2035) * lu(k,3052)
         lu(k,3075) = lu(k,3075) - lu(k,2036) * lu(k,3052)
         lu(k,3076) = lu(k,3076) - lu(k,2037) * lu(k,3052)
         lu(k,3077) = lu(k,3077) - lu(k,2038) * lu(k,3052)
         lu(k,3078) = lu(k,3078) - lu(k,2039) * lu(k,3052)
         lu(k,3079) = lu(k,3079) - lu(k,2040) * lu(k,3052)
         lu(k,3080) = lu(k,3080) - lu(k,2041) * lu(k,3052)
         lu(k,3082) = lu(k,3082) - lu(k,2042) * lu(k,3052)
         lu(k,3084) = lu(k,3084) - lu(k,2043) * lu(k,3052)
         lu(k,3085) = lu(k,3085) - lu(k,2044) * lu(k,3052)
         lu(k,3086) = lu(k,3086) - lu(k,2045) * lu(k,3052)
         lu(k,3087) = lu(k,3087) - lu(k,2046) * lu(k,3052)
         lu(k,3088) = lu(k,3088) - lu(k,2047) * lu(k,3052)
         lu(k,3089) = lu(k,3089) - lu(k,2048) * lu(k,3052)
         lu(k,3091) = lu(k,3091) - lu(k,2049) * lu(k,3052)
         lu(k,3092) = lu(k,3092) - lu(k,2050) * lu(k,3052)
         lu(k,3260) = lu(k,3260) - lu(k,2035) * lu(k,3255)
         lu(k,3278) = lu(k,3278) - lu(k,2036) * lu(k,3255)
         lu(k,3279) = lu(k,3279) - lu(k,2037) * lu(k,3255)
         lu(k,3280) = lu(k,3280) - lu(k,2038) * lu(k,3255)
         lu(k,3281) = lu(k,3281) - lu(k,2039) * lu(k,3255)
         lu(k,3282) = lu(k,3282) - lu(k,2040) * lu(k,3255)
         lu(k,3283) = lu(k,3283) - lu(k,2041) * lu(k,3255)
         lu(k,3285) = lu(k,3285) - lu(k,2042) * lu(k,3255)
         lu(k,3287) = lu(k,3287) - lu(k,2043) * lu(k,3255)
         lu(k,3288) = lu(k,3288) - lu(k,2044) * lu(k,3255)
         lu(k,3289) = lu(k,3289) - lu(k,2045) * lu(k,3255)
         lu(k,3290) = lu(k,3290) - lu(k,2046) * lu(k,3255)
         lu(k,3291) = lu(k,3291) - lu(k,2047) * lu(k,3255)
         lu(k,3292) = lu(k,3292) - lu(k,2048) * lu(k,3255)
         lu(k,3294) = lu(k,3294) - lu(k,2049) * lu(k,3255)
         lu(k,3295) = lu(k,3295) - lu(k,2050) * lu(k,3255)
         lu(k,3401) = lu(k,3401) - lu(k,2035) * lu(k,3396)
         lu(k,3419) = lu(k,3419) - lu(k,2036) * lu(k,3396)
         lu(k,3420) = lu(k,3420) - lu(k,2037) * lu(k,3396)
         lu(k,3421) = lu(k,3421) - lu(k,2038) * lu(k,3396)
         lu(k,3422) = lu(k,3422) - lu(k,2039) * lu(k,3396)
         lu(k,3423) = lu(k,3423) - lu(k,2040) * lu(k,3396)
         lu(k,3424) = lu(k,3424) - lu(k,2041) * lu(k,3396)
         lu(k,3426) = lu(k,3426) - lu(k,2042) * lu(k,3396)
         lu(k,3428) = lu(k,3428) - lu(k,2043) * lu(k,3396)
         lu(k,3429) = lu(k,3429) - lu(k,2044) * lu(k,3396)
         lu(k,3430) = lu(k,3430) - lu(k,2045) * lu(k,3396)
         lu(k,3431) = lu(k,3431) - lu(k,2046) * lu(k,3396)
         lu(k,3432) = lu(k,3432) - lu(k,2047) * lu(k,3396)
         lu(k,3433) = lu(k,3433) - lu(k,2048) * lu(k,3396)
         lu(k,3435) = lu(k,3435) - lu(k,2049) * lu(k,3396)
         lu(k,3436) = lu(k,3436) - lu(k,2050) * lu(k,3396)
         lu(k,3721) = lu(k,3721) - lu(k,2035) * lu(k,3717)
         lu(k,3739) = lu(k,3739) - lu(k,2036) * lu(k,3717)
         lu(k,3740) = lu(k,3740) - lu(k,2037) * lu(k,3717)
         lu(k,3741) = lu(k,3741) - lu(k,2038) * lu(k,3717)
         lu(k,3742) = lu(k,3742) - lu(k,2039) * lu(k,3717)
         lu(k,3743) = lu(k,3743) - lu(k,2040) * lu(k,3717)
         lu(k,3744) = lu(k,3744) - lu(k,2041) * lu(k,3717)
         lu(k,3746) = lu(k,3746) - lu(k,2042) * lu(k,3717)
         lu(k,3748) = lu(k,3748) - lu(k,2043) * lu(k,3717)
         lu(k,3749) = lu(k,3749) - lu(k,2044) * lu(k,3717)
         lu(k,3750) = lu(k,3750) - lu(k,2045) * lu(k,3717)
         lu(k,3751) = lu(k,3751) - lu(k,2046) * lu(k,3717)
         lu(k,3752) = lu(k,3752) - lu(k,2047) * lu(k,3717)
         lu(k,3753) = lu(k,3753) - lu(k,2048) * lu(k,3717)
         lu(k,3755) = lu(k,3755) - lu(k,2049) * lu(k,3717)
         lu(k,3756) = lu(k,3756) - lu(k,2050) * lu(k,3717)
         lu(k,2053) = 1._r8 / lu(k,2053)
         lu(k,2054) = lu(k,2054) * lu(k,2053)
         lu(k,2055) = lu(k,2055) * lu(k,2053)
         lu(k,2056) = lu(k,2056) * lu(k,2053)
         lu(k,2057) = lu(k,2057) * lu(k,2053)
         lu(k,2058) = lu(k,2058) * lu(k,2053)
         lu(k,2059) = lu(k,2059) * lu(k,2053)
         lu(k,2060) = lu(k,2060) * lu(k,2053)
         lu(k,2061) = lu(k,2061) * lu(k,2053)
         lu(k,2062) = lu(k,2062) * lu(k,2053)
         lu(k,2063) = lu(k,2063) * lu(k,2053)
         lu(k,2064) = lu(k,2064) * lu(k,2053)
         lu(k,2065) = lu(k,2065) * lu(k,2053)
         lu(k,2066) = lu(k,2066) * lu(k,2053)
         lu(k,2067) = lu(k,2067) * lu(k,2053)
         lu(k,2068) = lu(k,2068) * lu(k,2053)
         lu(k,2527) = lu(k,2527) - lu(k,2054) * lu(k,2513)
         lu(k,2529) = lu(k,2529) - lu(k,2055) * lu(k,2513)
         lu(k,2530) = lu(k,2530) - lu(k,2056) * lu(k,2513)
         lu(k,2531) = lu(k,2531) - lu(k,2057) * lu(k,2513)
         lu(k,2532) = lu(k,2532) - lu(k,2058) * lu(k,2513)
         lu(k,2533) = lu(k,2533) - lu(k,2059) * lu(k,2513)
         lu(k,2534) = lu(k,2534) - lu(k,2060) * lu(k,2513)
         lu(k,2535) = lu(k,2535) - lu(k,2061) * lu(k,2513)
         lu(k,2538) = lu(k,2538) - lu(k,2062) * lu(k,2513)
         lu(k,2540) = lu(k,2540) - lu(k,2063) * lu(k,2513)
         lu(k,2541) = lu(k,2541) - lu(k,2064) * lu(k,2513)
         lu(k,2542) = lu(k,2542) - lu(k,2065) * lu(k,2513)
         lu(k,2543) = lu(k,2543) - lu(k,2066) * lu(k,2513)
         lu(k,2545) = lu(k,2545) - lu(k,2067) * lu(k,2513)
         lu(k,2546) = lu(k,2546) - lu(k,2068) * lu(k,2513)
         lu(k,2573) = lu(k,2573) - lu(k,2054) * lu(k,2559)
         lu(k,2575) = lu(k,2575) - lu(k,2055) * lu(k,2559)
         lu(k,2576) = lu(k,2576) - lu(k,2056) * lu(k,2559)
         lu(k,2577) = lu(k,2577) - lu(k,2057) * lu(k,2559)
         lu(k,2578) = lu(k,2578) - lu(k,2058) * lu(k,2559)
         lu(k,2579) = lu(k,2579) - lu(k,2059) * lu(k,2559)
         lu(k,2580) = lu(k,2580) - lu(k,2060) * lu(k,2559)
         lu(k,2581) = lu(k,2581) - lu(k,2061) * lu(k,2559)
         lu(k,2584) = lu(k,2584) - lu(k,2062) * lu(k,2559)
         lu(k,2586) = lu(k,2586) - lu(k,2063) * lu(k,2559)
         lu(k,2587) = lu(k,2587) - lu(k,2064) * lu(k,2559)
         lu(k,2588) = lu(k,2588) - lu(k,2065) * lu(k,2559)
         lu(k,2589) = lu(k,2589) - lu(k,2066) * lu(k,2559)
         lu(k,2591) = lu(k,2591) - lu(k,2067) * lu(k,2559)
         lu(k,2592) = lu(k,2592) - lu(k,2068) * lu(k,2559)
         lu(k,2620) = lu(k,2620) - lu(k,2054) * lu(k,2606)
         lu(k,2622) = lu(k,2622) - lu(k,2055) * lu(k,2606)
         lu(k,2623) = lu(k,2623) - lu(k,2056) * lu(k,2606)
         lu(k,2624) = lu(k,2624) - lu(k,2057) * lu(k,2606)
         lu(k,2625) = lu(k,2625) - lu(k,2058) * lu(k,2606)
         lu(k,2626) = lu(k,2626) - lu(k,2059) * lu(k,2606)
         lu(k,2627) = lu(k,2627) - lu(k,2060) * lu(k,2606)
         lu(k,2628) = lu(k,2628) - lu(k,2061) * lu(k,2606)
         lu(k,2631) = lu(k,2631) - lu(k,2062) * lu(k,2606)
         lu(k,2633) = lu(k,2633) - lu(k,2063) * lu(k,2606)
         lu(k,2634) = lu(k,2634) - lu(k,2064) * lu(k,2606)
         lu(k,2635) = lu(k,2635) - lu(k,2065) * lu(k,2606)
         lu(k,2636) = lu(k,2636) - lu(k,2066) * lu(k,2606)
         lu(k,2638) = lu(k,2638) - lu(k,2067) * lu(k,2606)
         lu(k,2639) = lu(k,2639) - lu(k,2068) * lu(k,2606)
         lu(k,2691) = lu(k,2691) - lu(k,2054) * lu(k,2677)
         lu(k,2693) = lu(k,2693) - lu(k,2055) * lu(k,2677)
         lu(k,2694) = lu(k,2694) - lu(k,2056) * lu(k,2677)
         lu(k,2695) = lu(k,2695) - lu(k,2057) * lu(k,2677)
         lu(k,2696) = lu(k,2696) - lu(k,2058) * lu(k,2677)
         lu(k,2697) = lu(k,2697) - lu(k,2059) * lu(k,2677)
         lu(k,2698) = lu(k,2698) - lu(k,2060) * lu(k,2677)
         lu(k,2699) = lu(k,2699) - lu(k,2061) * lu(k,2677)
         lu(k,2702) = lu(k,2702) - lu(k,2062) * lu(k,2677)
         lu(k,2704) = lu(k,2704) - lu(k,2063) * lu(k,2677)
         lu(k,2705) = lu(k,2705) - lu(k,2064) * lu(k,2677)
         lu(k,2706) = lu(k,2706) - lu(k,2065) * lu(k,2677)
         lu(k,2707) = lu(k,2707) - lu(k,2066) * lu(k,2677)
         lu(k,2709) = lu(k,2709) - lu(k,2067) * lu(k,2677)
         lu(k,2710) = lu(k,2710) - lu(k,2068) * lu(k,2677)
         lu(k,2874) = lu(k,2874) - lu(k,2054) * lu(k,2860)
         lu(k,2876) = lu(k,2876) - lu(k,2055) * lu(k,2860)
         lu(k,2877) = lu(k,2877) - lu(k,2056) * lu(k,2860)
         lu(k,2878) = lu(k,2878) - lu(k,2057) * lu(k,2860)
         lu(k,2879) = lu(k,2879) - lu(k,2058) * lu(k,2860)
         lu(k,2880) = lu(k,2880) - lu(k,2059) * lu(k,2860)
         lu(k,2881) = lu(k,2881) - lu(k,2060) * lu(k,2860)
         lu(k,2882) = lu(k,2882) - lu(k,2061) * lu(k,2860)
         lu(k,2885) = lu(k,2885) - lu(k,2062) * lu(k,2860)
         lu(k,2887) = lu(k,2887) - lu(k,2063) * lu(k,2860)
         lu(k,2889) = lu(k,2889) - lu(k,2064) * lu(k,2860)
         lu(k,2891) = lu(k,2891) - lu(k,2065) * lu(k,2860)
         lu(k,2892) = lu(k,2892) - lu(k,2066) * lu(k,2860)
         lu(k,2894) = lu(k,2894) - lu(k,2067) * lu(k,2860)
         lu(k,2895) = lu(k,2895) - lu(k,2068) * lu(k,2860)
         lu(k,2975) = lu(k,2975) - lu(k,2054) * lu(k,2962)
         lu(k,2977) = lu(k,2977) - lu(k,2055) * lu(k,2962)
         lu(k,2978) = lu(k,2978) - lu(k,2056) * lu(k,2962)
         lu(k,2979) = lu(k,2979) - lu(k,2057) * lu(k,2962)
         lu(k,2980) = lu(k,2980) - lu(k,2058) * lu(k,2962)
         lu(k,2981) = lu(k,2981) - lu(k,2059) * lu(k,2962)
         lu(k,2982) = lu(k,2982) - lu(k,2060) * lu(k,2962)
         lu(k,2983) = lu(k,2983) - lu(k,2061) * lu(k,2962)
         lu(k,2986) = lu(k,2986) - lu(k,2062) * lu(k,2962)
         lu(k,2988) = lu(k,2988) - lu(k,2063) * lu(k,2962)
         lu(k,2990) = lu(k,2990) - lu(k,2064) * lu(k,2962)
         lu(k,2992) = lu(k,2992) - lu(k,2065) * lu(k,2962)
         lu(k,2993) = lu(k,2993) - lu(k,2066) * lu(k,2962)
         lu(k,2995) = lu(k,2995) - lu(k,2067) * lu(k,2962)
         lu(k,2996) = lu(k,2996) - lu(k,2068) * lu(k,2962)
         lu(k,3067) = lu(k,3067) - lu(k,2054) * lu(k,3053)
         lu(k,3069) = lu(k,3069) - lu(k,2055) * lu(k,3053)
         lu(k,3070) = lu(k,3070) - lu(k,2056) * lu(k,3053)
         lu(k,3071) = lu(k,3071) - lu(k,2057) * lu(k,3053)
         lu(k,3072) = lu(k,3072) - lu(k,2058) * lu(k,3053)
         lu(k,3073) = lu(k,3073) - lu(k,2059) * lu(k,3053)
         lu(k,3074) = lu(k,3074) - lu(k,2060) * lu(k,3053)
         lu(k,3075) = lu(k,3075) - lu(k,2061) * lu(k,3053)
         lu(k,3078) = lu(k,3078) - lu(k,2062) * lu(k,3053)
         lu(k,3080) = lu(k,3080) - lu(k,2063) * lu(k,3053)
         lu(k,3082) = lu(k,3082) - lu(k,2064) * lu(k,3053)
         lu(k,3084) = lu(k,3084) - lu(k,2065) * lu(k,3053)
         lu(k,3085) = lu(k,3085) - lu(k,2066) * lu(k,3053)
         lu(k,3087) = lu(k,3087) - lu(k,2067) * lu(k,3053)
         lu(k,3088) = lu(k,3088) - lu(k,2068) * lu(k,3053)
         lu(k,3270) = lu(k,3270) - lu(k,2054) * lu(k,3256)
         lu(k,3272) = lu(k,3272) - lu(k,2055) * lu(k,3256)
         lu(k,3273) = lu(k,3273) - lu(k,2056) * lu(k,3256)
         lu(k,3274) = lu(k,3274) - lu(k,2057) * lu(k,3256)
         lu(k,3275) = lu(k,3275) - lu(k,2058) * lu(k,3256)
         lu(k,3276) = lu(k,3276) - lu(k,2059) * lu(k,3256)
         lu(k,3277) = lu(k,3277) - lu(k,2060) * lu(k,3256)
         lu(k,3278) = lu(k,3278) - lu(k,2061) * lu(k,3256)
         lu(k,3281) = lu(k,3281) - lu(k,2062) * lu(k,3256)
         lu(k,3283) = lu(k,3283) - lu(k,2063) * lu(k,3256)
         lu(k,3285) = lu(k,3285) - lu(k,2064) * lu(k,3256)
         lu(k,3287) = lu(k,3287) - lu(k,2065) * lu(k,3256)
         lu(k,3288) = lu(k,3288) - lu(k,2066) * lu(k,3256)
         lu(k,3290) = lu(k,3290) - lu(k,2067) * lu(k,3256)
         lu(k,3291) = lu(k,3291) - lu(k,2068) * lu(k,3256)
         lu(k,3411) = lu(k,3411) - lu(k,2054) * lu(k,3397)
         lu(k,3413) = lu(k,3413) - lu(k,2055) * lu(k,3397)
         lu(k,3414) = lu(k,3414) - lu(k,2056) * lu(k,3397)
         lu(k,3415) = lu(k,3415) - lu(k,2057) * lu(k,3397)
         lu(k,3416) = lu(k,3416) - lu(k,2058) * lu(k,3397)
         lu(k,3417) = lu(k,3417) - lu(k,2059) * lu(k,3397)
         lu(k,3418) = lu(k,3418) - lu(k,2060) * lu(k,3397)
         lu(k,3419) = lu(k,3419) - lu(k,2061) * lu(k,3397)
         lu(k,3422) = lu(k,3422) - lu(k,2062) * lu(k,3397)
         lu(k,3424) = lu(k,3424) - lu(k,2063) * lu(k,3397)
         lu(k,3426) = lu(k,3426) - lu(k,2064) * lu(k,3397)
         lu(k,3428) = lu(k,3428) - lu(k,2065) * lu(k,3397)
         lu(k,3429) = lu(k,3429) - lu(k,2066) * lu(k,3397)
         lu(k,3431) = lu(k,3431) - lu(k,2067) * lu(k,3397)
         lu(k,3432) = lu(k,3432) - lu(k,2068) * lu(k,3397)
         lu(k,3731) = lu(k,3731) - lu(k,2054) * lu(k,3718)
         lu(k,3733) = lu(k,3733) - lu(k,2055) * lu(k,3718)
         lu(k,3734) = lu(k,3734) - lu(k,2056) * lu(k,3718)
         lu(k,3735) = lu(k,3735) - lu(k,2057) * lu(k,3718)
         lu(k,3736) = lu(k,3736) - lu(k,2058) * lu(k,3718)
         lu(k,3737) = lu(k,3737) - lu(k,2059) * lu(k,3718)
         lu(k,3738) = lu(k,3738) - lu(k,2060) * lu(k,3718)
         lu(k,3739) = lu(k,3739) - lu(k,2061) * lu(k,3718)
         lu(k,3742) = lu(k,3742) - lu(k,2062) * lu(k,3718)
         lu(k,3744) = lu(k,3744) - lu(k,2063) * lu(k,3718)
         lu(k,3746) = lu(k,3746) - lu(k,2064) * lu(k,3718)
         lu(k,3748) = lu(k,3748) - lu(k,2065) * lu(k,3718)
         lu(k,3749) = lu(k,3749) - lu(k,2066) * lu(k,3718)
         lu(k,3751) = lu(k,3751) - lu(k,2067) * lu(k,3718)
         lu(k,3752) = lu(k,3752) - lu(k,2068) * lu(k,3718)
         lu(k,2072) = 1._r8 / lu(k,2072)
         lu(k,2073) = lu(k,2073) * lu(k,2072)
         lu(k,2074) = lu(k,2074) * lu(k,2072)
         lu(k,2075) = lu(k,2075) * lu(k,2072)
         lu(k,2076) = lu(k,2076) * lu(k,2072)
         lu(k,2077) = lu(k,2077) * lu(k,2072)
         lu(k,2078) = lu(k,2078) * lu(k,2072)
         lu(k,2079) = lu(k,2079) * lu(k,2072)
         lu(k,2080) = lu(k,2080) * lu(k,2072)
         lu(k,2081) = lu(k,2081) * lu(k,2072)
         lu(k,2082) = lu(k,2082) * lu(k,2072)
         lu(k,2083) = lu(k,2083) * lu(k,2072)
         lu(k,2084) = lu(k,2084) * lu(k,2072)
         lu(k,2085) = lu(k,2085) * lu(k,2072)
         lu(k,2086) = lu(k,2086) * lu(k,2072)
         lu(k,2087) = lu(k,2087) * lu(k,2072)
         lu(k,2088) = lu(k,2088) * lu(k,2072)
         lu(k,2089) = lu(k,2089) * lu(k,2072)
         lu(k,2090) = lu(k,2090) * lu(k,2072)
         lu(k,2485) = - lu(k,2073) * lu(k,2484)
         lu(k,2486) = lu(k,2486) - lu(k,2074) * lu(k,2484)
         lu(k,2487) = lu(k,2487) - lu(k,2075) * lu(k,2484)
         lu(k,2488) = lu(k,2488) - lu(k,2076) * lu(k,2484)
         lu(k,2489) = lu(k,2489) - lu(k,2077) * lu(k,2484)
         lu(k,2490) = lu(k,2490) - lu(k,2078) * lu(k,2484)
         lu(k,2491) = lu(k,2491) - lu(k,2079) * lu(k,2484)
         lu(k,2492) = lu(k,2492) - lu(k,2080) * lu(k,2484)
         lu(k,2493) = lu(k,2493) - lu(k,2081) * lu(k,2484)
         lu(k,2494) = lu(k,2494) - lu(k,2082) * lu(k,2484)
         lu(k,2495) = - lu(k,2083) * lu(k,2484)
         lu(k,2496) = lu(k,2496) - lu(k,2084) * lu(k,2484)
         lu(k,2497) = lu(k,2497) - lu(k,2085) * lu(k,2484)
         lu(k,2498) = lu(k,2498) - lu(k,2086) * lu(k,2484)
         lu(k,2499) = lu(k,2499) - lu(k,2087) * lu(k,2484)
         lu(k,2500) = lu(k,2500) - lu(k,2088) * lu(k,2484)
         lu(k,2501) = lu(k,2501) - lu(k,2089) * lu(k,2484)
         lu(k,2502) = lu(k,2502) - lu(k,2090) * lu(k,2484)
         lu(k,2517) = lu(k,2517) - lu(k,2073) * lu(k,2514)
         lu(k,2520) = lu(k,2520) - lu(k,2074) * lu(k,2514)
         lu(k,2529) = lu(k,2529) - lu(k,2075) * lu(k,2514)
         lu(k,2530) = lu(k,2530) - lu(k,2076) * lu(k,2514)
         lu(k,2531) = lu(k,2531) - lu(k,2077) * lu(k,2514)
         lu(k,2532) = lu(k,2532) - lu(k,2078) * lu(k,2514)
         lu(k,2533) = lu(k,2533) - lu(k,2079) * lu(k,2514)
         lu(k,2534) = lu(k,2534) - lu(k,2080) * lu(k,2514)
         lu(k,2535) = lu(k,2535) - lu(k,2081) * lu(k,2514)
         lu(k,2536) = lu(k,2536) - lu(k,2082) * lu(k,2514)
         lu(k,2537) = lu(k,2537) - lu(k,2083) * lu(k,2514)
         lu(k,2538) = lu(k,2538) - lu(k,2084) * lu(k,2514)
         lu(k,2540) = lu(k,2540) - lu(k,2085) * lu(k,2514)
         lu(k,2541) = lu(k,2541) - lu(k,2086) * lu(k,2514)
         lu(k,2542) = lu(k,2542) - lu(k,2087) * lu(k,2514)
         lu(k,2543) = lu(k,2543) - lu(k,2088) * lu(k,2514)
         lu(k,2545) = lu(k,2545) - lu(k,2089) * lu(k,2514)
         lu(k,2546) = lu(k,2546) - lu(k,2090) * lu(k,2514)
         lu(k,2563) = lu(k,2563) - lu(k,2073) * lu(k,2560)
         lu(k,2566) = lu(k,2566) - lu(k,2074) * lu(k,2560)
         lu(k,2575) = lu(k,2575) - lu(k,2075) * lu(k,2560)
         lu(k,2576) = lu(k,2576) - lu(k,2076) * lu(k,2560)
         lu(k,2577) = lu(k,2577) - lu(k,2077) * lu(k,2560)
         lu(k,2578) = lu(k,2578) - lu(k,2078) * lu(k,2560)
         lu(k,2579) = lu(k,2579) - lu(k,2079) * lu(k,2560)
         lu(k,2580) = lu(k,2580) - lu(k,2080) * lu(k,2560)
         lu(k,2581) = lu(k,2581) - lu(k,2081) * lu(k,2560)
         lu(k,2582) = lu(k,2582) - lu(k,2082) * lu(k,2560)
         lu(k,2583) = lu(k,2583) - lu(k,2083) * lu(k,2560)
         lu(k,2584) = lu(k,2584) - lu(k,2084) * lu(k,2560)
         lu(k,2586) = lu(k,2586) - lu(k,2085) * lu(k,2560)
         lu(k,2587) = lu(k,2587) - lu(k,2086) * lu(k,2560)
         lu(k,2588) = lu(k,2588) - lu(k,2087) * lu(k,2560)
         lu(k,2589) = lu(k,2589) - lu(k,2088) * lu(k,2560)
         lu(k,2591) = lu(k,2591) - lu(k,2089) * lu(k,2560)
         lu(k,2592) = lu(k,2592) - lu(k,2090) * lu(k,2560)
         lu(k,2610) = lu(k,2610) - lu(k,2073) * lu(k,2607)
         lu(k,2613) = lu(k,2613) - lu(k,2074) * lu(k,2607)
         lu(k,2622) = lu(k,2622) - lu(k,2075) * lu(k,2607)
         lu(k,2623) = lu(k,2623) - lu(k,2076) * lu(k,2607)
         lu(k,2624) = lu(k,2624) - lu(k,2077) * lu(k,2607)
         lu(k,2625) = lu(k,2625) - lu(k,2078) * lu(k,2607)
         lu(k,2626) = lu(k,2626) - lu(k,2079) * lu(k,2607)
         lu(k,2627) = lu(k,2627) - lu(k,2080) * lu(k,2607)
         lu(k,2628) = lu(k,2628) - lu(k,2081) * lu(k,2607)
         lu(k,2629) = lu(k,2629) - lu(k,2082) * lu(k,2607)
         lu(k,2630) = lu(k,2630) - lu(k,2083) * lu(k,2607)
         lu(k,2631) = lu(k,2631) - lu(k,2084) * lu(k,2607)
         lu(k,2633) = lu(k,2633) - lu(k,2085) * lu(k,2607)
         lu(k,2634) = lu(k,2634) - lu(k,2086) * lu(k,2607)
         lu(k,2635) = lu(k,2635) - lu(k,2087) * lu(k,2607)
         lu(k,2636) = lu(k,2636) - lu(k,2088) * lu(k,2607)
         lu(k,2638) = lu(k,2638) - lu(k,2089) * lu(k,2607)
         lu(k,2639) = lu(k,2639) - lu(k,2090) * lu(k,2607)
         lu(k,2681) = lu(k,2681) - lu(k,2073) * lu(k,2678)
         lu(k,2684) = lu(k,2684) - lu(k,2074) * lu(k,2678)
         lu(k,2693) = lu(k,2693) - lu(k,2075) * lu(k,2678)
         lu(k,2694) = lu(k,2694) - lu(k,2076) * lu(k,2678)
         lu(k,2695) = lu(k,2695) - lu(k,2077) * lu(k,2678)
         lu(k,2696) = lu(k,2696) - lu(k,2078) * lu(k,2678)
         lu(k,2697) = lu(k,2697) - lu(k,2079) * lu(k,2678)
         lu(k,2698) = lu(k,2698) - lu(k,2080) * lu(k,2678)
         lu(k,2699) = lu(k,2699) - lu(k,2081) * lu(k,2678)
         lu(k,2700) = lu(k,2700) - lu(k,2082) * lu(k,2678)
         lu(k,2701) = lu(k,2701) - lu(k,2083) * lu(k,2678)
         lu(k,2702) = lu(k,2702) - lu(k,2084) * lu(k,2678)
         lu(k,2704) = lu(k,2704) - lu(k,2085) * lu(k,2678)
         lu(k,2705) = lu(k,2705) - lu(k,2086) * lu(k,2678)
         lu(k,2706) = lu(k,2706) - lu(k,2087) * lu(k,2678)
         lu(k,2707) = lu(k,2707) - lu(k,2088) * lu(k,2678)
         lu(k,2709) = lu(k,2709) - lu(k,2089) * lu(k,2678)
         lu(k,2710) = lu(k,2710) - lu(k,2090) * lu(k,2678)
         lu(k,2864) = lu(k,2864) - lu(k,2073) * lu(k,2861)
         lu(k,2867) = lu(k,2867) - lu(k,2074) * lu(k,2861)
         lu(k,2876) = lu(k,2876) - lu(k,2075) * lu(k,2861)
         lu(k,2877) = lu(k,2877) - lu(k,2076) * lu(k,2861)
         lu(k,2878) = lu(k,2878) - lu(k,2077) * lu(k,2861)
         lu(k,2879) = lu(k,2879) - lu(k,2078) * lu(k,2861)
         lu(k,2880) = lu(k,2880) - lu(k,2079) * lu(k,2861)
         lu(k,2881) = lu(k,2881) - lu(k,2080) * lu(k,2861)
         lu(k,2882) = lu(k,2882) - lu(k,2081) * lu(k,2861)
         lu(k,2883) = lu(k,2883) - lu(k,2082) * lu(k,2861)
         lu(k,2884) = lu(k,2884) - lu(k,2083) * lu(k,2861)
         lu(k,2885) = lu(k,2885) - lu(k,2084) * lu(k,2861)
         lu(k,2887) = lu(k,2887) - lu(k,2085) * lu(k,2861)
         lu(k,2889) = lu(k,2889) - lu(k,2086) * lu(k,2861)
         lu(k,2891) = lu(k,2891) - lu(k,2087) * lu(k,2861)
         lu(k,2892) = lu(k,2892) - lu(k,2088) * lu(k,2861)
         lu(k,2894) = lu(k,2894) - lu(k,2089) * lu(k,2861)
         lu(k,2895) = lu(k,2895) - lu(k,2090) * lu(k,2861)
         lu(k,3057) = lu(k,3057) - lu(k,2073) * lu(k,3054)
         lu(k,3060) = lu(k,3060) - lu(k,2074) * lu(k,3054)
         lu(k,3069) = lu(k,3069) - lu(k,2075) * lu(k,3054)
         lu(k,3070) = lu(k,3070) - lu(k,2076) * lu(k,3054)
         lu(k,3071) = lu(k,3071) - lu(k,2077) * lu(k,3054)
         lu(k,3072) = lu(k,3072) - lu(k,2078) * lu(k,3054)
         lu(k,3073) = lu(k,3073) - lu(k,2079) * lu(k,3054)
         lu(k,3074) = lu(k,3074) - lu(k,2080) * lu(k,3054)
         lu(k,3075) = lu(k,3075) - lu(k,2081) * lu(k,3054)
         lu(k,3076) = lu(k,3076) - lu(k,2082) * lu(k,3054)
         lu(k,3077) = lu(k,3077) - lu(k,2083) * lu(k,3054)
         lu(k,3078) = lu(k,3078) - lu(k,2084) * lu(k,3054)
         lu(k,3080) = lu(k,3080) - lu(k,2085) * lu(k,3054)
         lu(k,3082) = lu(k,3082) - lu(k,2086) * lu(k,3054)
         lu(k,3084) = lu(k,3084) - lu(k,2087) * lu(k,3054)
         lu(k,3085) = lu(k,3085) - lu(k,2088) * lu(k,3054)
         lu(k,3087) = lu(k,3087) - lu(k,2089) * lu(k,3054)
         lu(k,3088) = lu(k,3088) - lu(k,2090) * lu(k,3054)
         lu(k,3260) = lu(k,3260) - lu(k,2073) * lu(k,3257)
         lu(k,3263) = lu(k,3263) - lu(k,2074) * lu(k,3257)
         lu(k,3272) = lu(k,3272) - lu(k,2075) * lu(k,3257)
         lu(k,3273) = lu(k,3273) - lu(k,2076) * lu(k,3257)
         lu(k,3274) = lu(k,3274) - lu(k,2077) * lu(k,3257)
         lu(k,3275) = lu(k,3275) - lu(k,2078) * lu(k,3257)
         lu(k,3276) = lu(k,3276) - lu(k,2079) * lu(k,3257)
         lu(k,3277) = lu(k,3277) - lu(k,2080) * lu(k,3257)
         lu(k,3278) = lu(k,3278) - lu(k,2081) * lu(k,3257)
         lu(k,3279) = lu(k,3279) - lu(k,2082) * lu(k,3257)
         lu(k,3280) = lu(k,3280) - lu(k,2083) * lu(k,3257)
         lu(k,3281) = lu(k,3281) - lu(k,2084) * lu(k,3257)
         lu(k,3283) = lu(k,3283) - lu(k,2085) * lu(k,3257)
         lu(k,3285) = lu(k,3285) - lu(k,2086) * lu(k,3257)
         lu(k,3287) = lu(k,3287) - lu(k,2087) * lu(k,3257)
         lu(k,3288) = lu(k,3288) - lu(k,2088) * lu(k,3257)
         lu(k,3290) = lu(k,3290) - lu(k,2089) * lu(k,3257)
         lu(k,3291) = lu(k,3291) - lu(k,2090) * lu(k,3257)
         lu(k,3401) = lu(k,3401) - lu(k,2073) * lu(k,3398)
         lu(k,3404) = lu(k,3404) - lu(k,2074) * lu(k,3398)
         lu(k,3413) = lu(k,3413) - lu(k,2075) * lu(k,3398)
         lu(k,3414) = lu(k,3414) - lu(k,2076) * lu(k,3398)
         lu(k,3415) = lu(k,3415) - lu(k,2077) * lu(k,3398)
         lu(k,3416) = lu(k,3416) - lu(k,2078) * lu(k,3398)
         lu(k,3417) = lu(k,3417) - lu(k,2079) * lu(k,3398)
         lu(k,3418) = lu(k,3418) - lu(k,2080) * lu(k,3398)
         lu(k,3419) = lu(k,3419) - lu(k,2081) * lu(k,3398)
         lu(k,3420) = lu(k,3420) - lu(k,2082) * lu(k,3398)
         lu(k,3421) = lu(k,3421) - lu(k,2083) * lu(k,3398)
         lu(k,3422) = lu(k,3422) - lu(k,2084) * lu(k,3398)
         lu(k,3424) = lu(k,3424) - lu(k,2085) * lu(k,3398)
         lu(k,3426) = lu(k,3426) - lu(k,2086) * lu(k,3398)
         lu(k,3428) = lu(k,3428) - lu(k,2087) * lu(k,3398)
         lu(k,3429) = lu(k,3429) - lu(k,2088) * lu(k,3398)
         lu(k,3431) = lu(k,3431) - lu(k,2089) * lu(k,3398)
         lu(k,3432) = lu(k,3432) - lu(k,2090) * lu(k,3398)
      end do
      end subroutine lu_fac41
      subroutine lu_fac42( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,2096) = 1._r8 / lu(k,2096)
         lu(k,2097) = lu(k,2097) * lu(k,2096)
         lu(k,2098) = lu(k,2098) * lu(k,2096)
         lu(k,2099) = lu(k,2099) * lu(k,2096)
         lu(k,2100) = lu(k,2100) * lu(k,2096)
         lu(k,2101) = lu(k,2101) * lu(k,2096)
         lu(k,2102) = lu(k,2102) * lu(k,2096)
         lu(k,2103) = lu(k,2103) * lu(k,2096)
         lu(k,2104) = lu(k,2104) * lu(k,2096)
         lu(k,2105) = lu(k,2105) * lu(k,2096)
         lu(k,2106) = lu(k,2106) * lu(k,2096)
         lu(k,2107) = lu(k,2107) * lu(k,2096)
         lu(k,2108) = lu(k,2108) * lu(k,2096)
         lu(k,2109) = lu(k,2109) * lu(k,2096)
         lu(k,2110) = lu(k,2110) * lu(k,2096)
         lu(k,2111) = lu(k,2111) * lu(k,2096)
         lu(k,2112) = lu(k,2112) * lu(k,2096)
         lu(k,2113) = lu(k,2113) * lu(k,2096)
         lu(k,2519) = lu(k,2519) - lu(k,2097) * lu(k,2515)
         lu(k,2520) = lu(k,2520) - lu(k,2098) * lu(k,2515)
         lu(k,2527) = lu(k,2527) - lu(k,2099) * lu(k,2515)
         lu(k,2529) = lu(k,2529) - lu(k,2100) * lu(k,2515)
         lu(k,2530) = lu(k,2530) - lu(k,2101) * lu(k,2515)
         lu(k,2531) = lu(k,2531) - lu(k,2102) * lu(k,2515)
         lu(k,2532) = lu(k,2532) - lu(k,2103) * lu(k,2515)
         lu(k,2533) = lu(k,2533) - lu(k,2104) * lu(k,2515)
         lu(k,2534) = lu(k,2534) - lu(k,2105) * lu(k,2515)
         lu(k,2535) = lu(k,2535) - lu(k,2106) * lu(k,2515)
         lu(k,2538) = lu(k,2538) - lu(k,2107) * lu(k,2515)
         lu(k,2540) = lu(k,2540) - lu(k,2108) * lu(k,2515)
         lu(k,2541) = lu(k,2541) - lu(k,2109) * lu(k,2515)
         lu(k,2542) = lu(k,2542) - lu(k,2110) * lu(k,2515)
         lu(k,2543) = lu(k,2543) - lu(k,2111) * lu(k,2515)
         lu(k,2545) = lu(k,2545) - lu(k,2112) * lu(k,2515)
         lu(k,2546) = lu(k,2546) - lu(k,2113) * lu(k,2515)
         lu(k,2565) = lu(k,2565) - lu(k,2097) * lu(k,2561)
         lu(k,2566) = lu(k,2566) - lu(k,2098) * lu(k,2561)
         lu(k,2573) = lu(k,2573) - lu(k,2099) * lu(k,2561)
         lu(k,2575) = lu(k,2575) - lu(k,2100) * lu(k,2561)
         lu(k,2576) = lu(k,2576) - lu(k,2101) * lu(k,2561)
         lu(k,2577) = lu(k,2577) - lu(k,2102) * lu(k,2561)
         lu(k,2578) = lu(k,2578) - lu(k,2103) * lu(k,2561)
         lu(k,2579) = lu(k,2579) - lu(k,2104) * lu(k,2561)
         lu(k,2580) = lu(k,2580) - lu(k,2105) * lu(k,2561)
         lu(k,2581) = lu(k,2581) - lu(k,2106) * lu(k,2561)
         lu(k,2584) = lu(k,2584) - lu(k,2107) * lu(k,2561)
         lu(k,2586) = lu(k,2586) - lu(k,2108) * lu(k,2561)
         lu(k,2587) = lu(k,2587) - lu(k,2109) * lu(k,2561)
         lu(k,2588) = lu(k,2588) - lu(k,2110) * lu(k,2561)
         lu(k,2589) = lu(k,2589) - lu(k,2111) * lu(k,2561)
         lu(k,2591) = lu(k,2591) - lu(k,2112) * lu(k,2561)
         lu(k,2592) = lu(k,2592) - lu(k,2113) * lu(k,2561)
         lu(k,2612) = lu(k,2612) - lu(k,2097) * lu(k,2608)
         lu(k,2613) = lu(k,2613) - lu(k,2098) * lu(k,2608)
         lu(k,2620) = lu(k,2620) - lu(k,2099) * lu(k,2608)
         lu(k,2622) = lu(k,2622) - lu(k,2100) * lu(k,2608)
         lu(k,2623) = lu(k,2623) - lu(k,2101) * lu(k,2608)
         lu(k,2624) = lu(k,2624) - lu(k,2102) * lu(k,2608)
         lu(k,2625) = lu(k,2625) - lu(k,2103) * lu(k,2608)
         lu(k,2626) = lu(k,2626) - lu(k,2104) * lu(k,2608)
         lu(k,2627) = lu(k,2627) - lu(k,2105) * lu(k,2608)
         lu(k,2628) = lu(k,2628) - lu(k,2106) * lu(k,2608)
         lu(k,2631) = lu(k,2631) - lu(k,2107) * lu(k,2608)
         lu(k,2633) = lu(k,2633) - lu(k,2108) * lu(k,2608)
         lu(k,2634) = lu(k,2634) - lu(k,2109) * lu(k,2608)
         lu(k,2635) = lu(k,2635) - lu(k,2110) * lu(k,2608)
         lu(k,2636) = lu(k,2636) - lu(k,2111) * lu(k,2608)
         lu(k,2638) = lu(k,2638) - lu(k,2112) * lu(k,2608)
         lu(k,2639) = lu(k,2639) - lu(k,2113) * lu(k,2608)
         lu(k,2683) = lu(k,2683) - lu(k,2097) * lu(k,2679)
         lu(k,2684) = lu(k,2684) - lu(k,2098) * lu(k,2679)
         lu(k,2691) = lu(k,2691) - lu(k,2099) * lu(k,2679)
         lu(k,2693) = lu(k,2693) - lu(k,2100) * lu(k,2679)
         lu(k,2694) = lu(k,2694) - lu(k,2101) * lu(k,2679)
         lu(k,2695) = lu(k,2695) - lu(k,2102) * lu(k,2679)
         lu(k,2696) = lu(k,2696) - lu(k,2103) * lu(k,2679)
         lu(k,2697) = lu(k,2697) - lu(k,2104) * lu(k,2679)
         lu(k,2698) = lu(k,2698) - lu(k,2105) * lu(k,2679)
         lu(k,2699) = lu(k,2699) - lu(k,2106) * lu(k,2679)
         lu(k,2702) = lu(k,2702) - lu(k,2107) * lu(k,2679)
         lu(k,2704) = lu(k,2704) - lu(k,2108) * lu(k,2679)
         lu(k,2705) = lu(k,2705) - lu(k,2109) * lu(k,2679)
         lu(k,2706) = lu(k,2706) - lu(k,2110) * lu(k,2679)
         lu(k,2707) = lu(k,2707) - lu(k,2111) * lu(k,2679)
         lu(k,2709) = lu(k,2709) - lu(k,2112) * lu(k,2679)
         lu(k,2710) = lu(k,2710) - lu(k,2113) * lu(k,2679)
         lu(k,2866) = lu(k,2866) - lu(k,2097) * lu(k,2862)
         lu(k,2867) = lu(k,2867) - lu(k,2098) * lu(k,2862)
         lu(k,2874) = lu(k,2874) - lu(k,2099) * lu(k,2862)
         lu(k,2876) = lu(k,2876) - lu(k,2100) * lu(k,2862)
         lu(k,2877) = lu(k,2877) - lu(k,2101) * lu(k,2862)
         lu(k,2878) = lu(k,2878) - lu(k,2102) * lu(k,2862)
         lu(k,2879) = lu(k,2879) - lu(k,2103) * lu(k,2862)
         lu(k,2880) = lu(k,2880) - lu(k,2104) * lu(k,2862)
         lu(k,2881) = lu(k,2881) - lu(k,2105) * lu(k,2862)
         lu(k,2882) = lu(k,2882) - lu(k,2106) * lu(k,2862)
         lu(k,2885) = lu(k,2885) - lu(k,2107) * lu(k,2862)
         lu(k,2887) = lu(k,2887) - lu(k,2108) * lu(k,2862)
         lu(k,2889) = lu(k,2889) - lu(k,2109) * lu(k,2862)
         lu(k,2891) = lu(k,2891) - lu(k,2110) * lu(k,2862)
         lu(k,2892) = lu(k,2892) - lu(k,2111) * lu(k,2862)
         lu(k,2894) = lu(k,2894) - lu(k,2112) * lu(k,2862)
         lu(k,2895) = lu(k,2895) - lu(k,2113) * lu(k,2862)
         lu(k,2967) = - lu(k,2097) * lu(k,2963)
         lu(k,2968) = lu(k,2968) - lu(k,2098) * lu(k,2963)
         lu(k,2975) = lu(k,2975) - lu(k,2099) * lu(k,2963)
         lu(k,2977) = lu(k,2977) - lu(k,2100) * lu(k,2963)
         lu(k,2978) = lu(k,2978) - lu(k,2101) * lu(k,2963)
         lu(k,2979) = lu(k,2979) - lu(k,2102) * lu(k,2963)
         lu(k,2980) = lu(k,2980) - lu(k,2103) * lu(k,2963)
         lu(k,2981) = lu(k,2981) - lu(k,2104) * lu(k,2963)
         lu(k,2982) = lu(k,2982) - lu(k,2105) * lu(k,2963)
         lu(k,2983) = lu(k,2983) - lu(k,2106) * lu(k,2963)
         lu(k,2986) = lu(k,2986) - lu(k,2107) * lu(k,2963)
         lu(k,2988) = lu(k,2988) - lu(k,2108) * lu(k,2963)
         lu(k,2990) = lu(k,2990) - lu(k,2109) * lu(k,2963)
         lu(k,2992) = lu(k,2992) - lu(k,2110) * lu(k,2963)
         lu(k,2993) = lu(k,2993) - lu(k,2111) * lu(k,2963)
         lu(k,2995) = lu(k,2995) - lu(k,2112) * lu(k,2963)
         lu(k,2996) = lu(k,2996) - lu(k,2113) * lu(k,2963)
         lu(k,3059) = lu(k,3059) - lu(k,2097) * lu(k,3055)
         lu(k,3060) = lu(k,3060) - lu(k,2098) * lu(k,3055)
         lu(k,3067) = lu(k,3067) - lu(k,2099) * lu(k,3055)
         lu(k,3069) = lu(k,3069) - lu(k,2100) * lu(k,3055)
         lu(k,3070) = lu(k,3070) - lu(k,2101) * lu(k,3055)
         lu(k,3071) = lu(k,3071) - lu(k,2102) * lu(k,3055)
         lu(k,3072) = lu(k,3072) - lu(k,2103) * lu(k,3055)
         lu(k,3073) = lu(k,3073) - lu(k,2104) * lu(k,3055)
         lu(k,3074) = lu(k,3074) - lu(k,2105) * lu(k,3055)
         lu(k,3075) = lu(k,3075) - lu(k,2106) * lu(k,3055)
         lu(k,3078) = lu(k,3078) - lu(k,2107) * lu(k,3055)
         lu(k,3080) = lu(k,3080) - lu(k,2108) * lu(k,3055)
         lu(k,3082) = lu(k,3082) - lu(k,2109) * lu(k,3055)
         lu(k,3084) = lu(k,3084) - lu(k,2110) * lu(k,3055)
         lu(k,3085) = lu(k,3085) - lu(k,2111) * lu(k,3055)
         lu(k,3087) = lu(k,3087) - lu(k,2112) * lu(k,3055)
         lu(k,3088) = lu(k,3088) - lu(k,2113) * lu(k,3055)
         lu(k,3262) = lu(k,3262) - lu(k,2097) * lu(k,3258)
         lu(k,3263) = lu(k,3263) - lu(k,2098) * lu(k,3258)
         lu(k,3270) = lu(k,3270) - lu(k,2099) * lu(k,3258)
         lu(k,3272) = lu(k,3272) - lu(k,2100) * lu(k,3258)
         lu(k,3273) = lu(k,3273) - lu(k,2101) * lu(k,3258)
         lu(k,3274) = lu(k,3274) - lu(k,2102) * lu(k,3258)
         lu(k,3275) = lu(k,3275) - lu(k,2103) * lu(k,3258)
         lu(k,3276) = lu(k,3276) - lu(k,2104) * lu(k,3258)
         lu(k,3277) = lu(k,3277) - lu(k,2105) * lu(k,3258)
         lu(k,3278) = lu(k,3278) - lu(k,2106) * lu(k,3258)
         lu(k,3281) = lu(k,3281) - lu(k,2107) * lu(k,3258)
         lu(k,3283) = lu(k,3283) - lu(k,2108) * lu(k,3258)
         lu(k,3285) = lu(k,3285) - lu(k,2109) * lu(k,3258)
         lu(k,3287) = lu(k,3287) - lu(k,2110) * lu(k,3258)
         lu(k,3288) = lu(k,3288) - lu(k,2111) * lu(k,3258)
         lu(k,3290) = lu(k,3290) - lu(k,2112) * lu(k,3258)
         lu(k,3291) = lu(k,3291) - lu(k,2113) * lu(k,3258)
         lu(k,3403) = lu(k,3403) - lu(k,2097) * lu(k,3399)
         lu(k,3404) = lu(k,3404) - lu(k,2098) * lu(k,3399)
         lu(k,3411) = lu(k,3411) - lu(k,2099) * lu(k,3399)
         lu(k,3413) = lu(k,3413) - lu(k,2100) * lu(k,3399)
         lu(k,3414) = lu(k,3414) - lu(k,2101) * lu(k,3399)
         lu(k,3415) = lu(k,3415) - lu(k,2102) * lu(k,3399)
         lu(k,3416) = lu(k,3416) - lu(k,2103) * lu(k,3399)
         lu(k,3417) = lu(k,3417) - lu(k,2104) * lu(k,3399)
         lu(k,3418) = lu(k,3418) - lu(k,2105) * lu(k,3399)
         lu(k,3419) = lu(k,3419) - lu(k,2106) * lu(k,3399)
         lu(k,3422) = lu(k,3422) - lu(k,2107) * lu(k,3399)
         lu(k,3424) = lu(k,3424) - lu(k,2108) * lu(k,3399)
         lu(k,3426) = lu(k,3426) - lu(k,2109) * lu(k,3399)
         lu(k,3428) = lu(k,3428) - lu(k,2110) * lu(k,3399)
         lu(k,3429) = lu(k,3429) - lu(k,2111) * lu(k,3399)
         lu(k,3431) = lu(k,3431) - lu(k,2112) * lu(k,3399)
         lu(k,3432) = lu(k,3432) - lu(k,2113) * lu(k,3399)
         lu(k,3723) = lu(k,3723) - lu(k,2097) * lu(k,3719)
         lu(k,3724) = lu(k,3724) - lu(k,2098) * lu(k,3719)
         lu(k,3731) = lu(k,3731) - lu(k,2099) * lu(k,3719)
         lu(k,3733) = lu(k,3733) - lu(k,2100) * lu(k,3719)
         lu(k,3734) = lu(k,3734) - lu(k,2101) * lu(k,3719)
         lu(k,3735) = lu(k,3735) - lu(k,2102) * lu(k,3719)
         lu(k,3736) = lu(k,3736) - lu(k,2103) * lu(k,3719)
         lu(k,3737) = lu(k,3737) - lu(k,2104) * lu(k,3719)
         lu(k,3738) = lu(k,3738) - lu(k,2105) * lu(k,3719)
         lu(k,3739) = lu(k,3739) - lu(k,2106) * lu(k,3719)
         lu(k,3742) = lu(k,3742) - lu(k,2107) * lu(k,3719)
         lu(k,3744) = lu(k,3744) - lu(k,2108) * lu(k,3719)
         lu(k,3746) = lu(k,3746) - lu(k,2109) * lu(k,3719)
         lu(k,3748) = lu(k,3748) - lu(k,2110) * lu(k,3719)
         lu(k,3749) = lu(k,3749) - lu(k,2111) * lu(k,3719)
         lu(k,3751) = lu(k,3751) - lu(k,2112) * lu(k,3719)
         lu(k,3752) = lu(k,3752) - lu(k,2113) * lu(k,3719)
         lu(k,2119) = 1._r8 / lu(k,2119)
         lu(k,2120) = lu(k,2120) * lu(k,2119)
         lu(k,2121) = lu(k,2121) * lu(k,2119)
         lu(k,2122) = lu(k,2122) * lu(k,2119)
         lu(k,2123) = lu(k,2123) * lu(k,2119)
         lu(k,2124) = lu(k,2124) * lu(k,2119)
         lu(k,2125) = lu(k,2125) * lu(k,2119)
         lu(k,2126) = lu(k,2126) * lu(k,2119)
         lu(k,2127) = lu(k,2127) * lu(k,2119)
         lu(k,2128) = lu(k,2128) * lu(k,2119)
         lu(k,2129) = lu(k,2129) * lu(k,2119)
         lu(k,2130) = lu(k,2130) * lu(k,2119)
         lu(k,2131) = lu(k,2131) * lu(k,2119)
         lu(k,2132) = lu(k,2132) * lu(k,2119)
         lu(k,2133) = lu(k,2133) * lu(k,2119)
         lu(k,2134) = lu(k,2134) * lu(k,2119)
         lu(k,2135) = lu(k,2135) * lu(k,2119)
         lu(k,2136) = lu(k,2136) * lu(k,2119)
         lu(k,2520) = lu(k,2520) - lu(k,2120) * lu(k,2516)
         lu(k,2529) = lu(k,2529) - lu(k,2121) * lu(k,2516)
         lu(k,2530) = lu(k,2530) - lu(k,2122) * lu(k,2516)
         lu(k,2531) = lu(k,2531) - lu(k,2123) * lu(k,2516)
         lu(k,2532) = lu(k,2532) - lu(k,2124) * lu(k,2516)
         lu(k,2533) = lu(k,2533) - lu(k,2125) * lu(k,2516)
         lu(k,2534) = lu(k,2534) - lu(k,2126) * lu(k,2516)
         lu(k,2535) = lu(k,2535) - lu(k,2127) * lu(k,2516)
         lu(k,2536) = lu(k,2536) - lu(k,2128) * lu(k,2516)
         lu(k,2538) = lu(k,2538) - lu(k,2129) * lu(k,2516)
         lu(k,2540) = lu(k,2540) - lu(k,2130) * lu(k,2516)
         lu(k,2541) = lu(k,2541) - lu(k,2131) * lu(k,2516)
         lu(k,2542) = lu(k,2542) - lu(k,2132) * lu(k,2516)
         lu(k,2543) = lu(k,2543) - lu(k,2133) * lu(k,2516)
         lu(k,2545) = lu(k,2545) - lu(k,2134) * lu(k,2516)
         lu(k,2546) = lu(k,2546) - lu(k,2135) * lu(k,2516)
         lu(k,2549) = - lu(k,2136) * lu(k,2516)
         lu(k,2566) = lu(k,2566) - lu(k,2120) * lu(k,2562)
         lu(k,2575) = lu(k,2575) - lu(k,2121) * lu(k,2562)
         lu(k,2576) = lu(k,2576) - lu(k,2122) * lu(k,2562)
         lu(k,2577) = lu(k,2577) - lu(k,2123) * lu(k,2562)
         lu(k,2578) = lu(k,2578) - lu(k,2124) * lu(k,2562)
         lu(k,2579) = lu(k,2579) - lu(k,2125) * lu(k,2562)
         lu(k,2580) = lu(k,2580) - lu(k,2126) * lu(k,2562)
         lu(k,2581) = lu(k,2581) - lu(k,2127) * lu(k,2562)
         lu(k,2582) = lu(k,2582) - lu(k,2128) * lu(k,2562)
         lu(k,2584) = lu(k,2584) - lu(k,2129) * lu(k,2562)
         lu(k,2586) = lu(k,2586) - lu(k,2130) * lu(k,2562)
         lu(k,2587) = lu(k,2587) - lu(k,2131) * lu(k,2562)
         lu(k,2588) = lu(k,2588) - lu(k,2132) * lu(k,2562)
         lu(k,2589) = lu(k,2589) - lu(k,2133) * lu(k,2562)
         lu(k,2591) = lu(k,2591) - lu(k,2134) * lu(k,2562)
         lu(k,2592) = lu(k,2592) - lu(k,2135) * lu(k,2562)
         lu(k,2595) = - lu(k,2136) * lu(k,2562)
         lu(k,2613) = lu(k,2613) - lu(k,2120) * lu(k,2609)
         lu(k,2622) = lu(k,2622) - lu(k,2121) * lu(k,2609)
         lu(k,2623) = lu(k,2623) - lu(k,2122) * lu(k,2609)
         lu(k,2624) = lu(k,2624) - lu(k,2123) * lu(k,2609)
         lu(k,2625) = lu(k,2625) - lu(k,2124) * lu(k,2609)
         lu(k,2626) = lu(k,2626) - lu(k,2125) * lu(k,2609)
         lu(k,2627) = lu(k,2627) - lu(k,2126) * lu(k,2609)
         lu(k,2628) = lu(k,2628) - lu(k,2127) * lu(k,2609)
         lu(k,2629) = lu(k,2629) - lu(k,2128) * lu(k,2609)
         lu(k,2631) = lu(k,2631) - lu(k,2129) * lu(k,2609)
         lu(k,2633) = lu(k,2633) - lu(k,2130) * lu(k,2609)
         lu(k,2634) = lu(k,2634) - lu(k,2131) * lu(k,2609)
         lu(k,2635) = lu(k,2635) - lu(k,2132) * lu(k,2609)
         lu(k,2636) = lu(k,2636) - lu(k,2133) * lu(k,2609)
         lu(k,2638) = lu(k,2638) - lu(k,2134) * lu(k,2609)
         lu(k,2639) = lu(k,2639) - lu(k,2135) * lu(k,2609)
         lu(k,2642) = - lu(k,2136) * lu(k,2609)
         lu(k,2684) = lu(k,2684) - lu(k,2120) * lu(k,2680)
         lu(k,2693) = lu(k,2693) - lu(k,2121) * lu(k,2680)
         lu(k,2694) = lu(k,2694) - lu(k,2122) * lu(k,2680)
         lu(k,2695) = lu(k,2695) - lu(k,2123) * lu(k,2680)
         lu(k,2696) = lu(k,2696) - lu(k,2124) * lu(k,2680)
         lu(k,2697) = lu(k,2697) - lu(k,2125) * lu(k,2680)
         lu(k,2698) = lu(k,2698) - lu(k,2126) * lu(k,2680)
         lu(k,2699) = lu(k,2699) - lu(k,2127) * lu(k,2680)
         lu(k,2700) = lu(k,2700) - lu(k,2128) * lu(k,2680)
         lu(k,2702) = lu(k,2702) - lu(k,2129) * lu(k,2680)
         lu(k,2704) = lu(k,2704) - lu(k,2130) * lu(k,2680)
         lu(k,2705) = lu(k,2705) - lu(k,2131) * lu(k,2680)
         lu(k,2706) = lu(k,2706) - lu(k,2132) * lu(k,2680)
         lu(k,2707) = lu(k,2707) - lu(k,2133) * lu(k,2680)
         lu(k,2709) = lu(k,2709) - lu(k,2134) * lu(k,2680)
         lu(k,2710) = lu(k,2710) - lu(k,2135) * lu(k,2680)
         lu(k,2713) = lu(k,2713) - lu(k,2136) * lu(k,2680)
         lu(k,2867) = lu(k,2867) - lu(k,2120) * lu(k,2863)
         lu(k,2876) = lu(k,2876) - lu(k,2121) * lu(k,2863)
         lu(k,2877) = lu(k,2877) - lu(k,2122) * lu(k,2863)
         lu(k,2878) = lu(k,2878) - lu(k,2123) * lu(k,2863)
         lu(k,2879) = lu(k,2879) - lu(k,2124) * lu(k,2863)
         lu(k,2880) = lu(k,2880) - lu(k,2125) * lu(k,2863)
         lu(k,2881) = lu(k,2881) - lu(k,2126) * lu(k,2863)
         lu(k,2882) = lu(k,2882) - lu(k,2127) * lu(k,2863)
         lu(k,2883) = lu(k,2883) - lu(k,2128) * lu(k,2863)
         lu(k,2885) = lu(k,2885) - lu(k,2129) * lu(k,2863)
         lu(k,2887) = lu(k,2887) - lu(k,2130) * lu(k,2863)
         lu(k,2889) = lu(k,2889) - lu(k,2131) * lu(k,2863)
         lu(k,2891) = lu(k,2891) - lu(k,2132) * lu(k,2863)
         lu(k,2892) = lu(k,2892) - lu(k,2133) * lu(k,2863)
         lu(k,2894) = lu(k,2894) - lu(k,2134) * lu(k,2863)
         lu(k,2895) = lu(k,2895) - lu(k,2135) * lu(k,2863)
         lu(k,2899) = lu(k,2899) - lu(k,2136) * lu(k,2863)
         lu(k,2968) = lu(k,2968) - lu(k,2120) * lu(k,2964)
         lu(k,2977) = lu(k,2977) - lu(k,2121) * lu(k,2964)
         lu(k,2978) = lu(k,2978) - lu(k,2122) * lu(k,2964)
         lu(k,2979) = lu(k,2979) - lu(k,2123) * lu(k,2964)
         lu(k,2980) = lu(k,2980) - lu(k,2124) * lu(k,2964)
         lu(k,2981) = lu(k,2981) - lu(k,2125) * lu(k,2964)
         lu(k,2982) = lu(k,2982) - lu(k,2126) * lu(k,2964)
         lu(k,2983) = lu(k,2983) - lu(k,2127) * lu(k,2964)
         lu(k,2984) = lu(k,2984) - lu(k,2128) * lu(k,2964)
         lu(k,2986) = lu(k,2986) - lu(k,2129) * lu(k,2964)
         lu(k,2988) = lu(k,2988) - lu(k,2130) * lu(k,2964)
         lu(k,2990) = lu(k,2990) - lu(k,2131) * lu(k,2964)
         lu(k,2992) = lu(k,2992) - lu(k,2132) * lu(k,2964)
         lu(k,2993) = lu(k,2993) - lu(k,2133) * lu(k,2964)
         lu(k,2995) = lu(k,2995) - lu(k,2134) * lu(k,2964)
         lu(k,2996) = lu(k,2996) - lu(k,2135) * lu(k,2964)
         lu(k,3000) = lu(k,3000) - lu(k,2136) * lu(k,2964)
         lu(k,3060) = lu(k,3060) - lu(k,2120) * lu(k,3056)
         lu(k,3069) = lu(k,3069) - lu(k,2121) * lu(k,3056)
         lu(k,3070) = lu(k,3070) - lu(k,2122) * lu(k,3056)
         lu(k,3071) = lu(k,3071) - lu(k,2123) * lu(k,3056)
         lu(k,3072) = lu(k,3072) - lu(k,2124) * lu(k,3056)
         lu(k,3073) = lu(k,3073) - lu(k,2125) * lu(k,3056)
         lu(k,3074) = lu(k,3074) - lu(k,2126) * lu(k,3056)
         lu(k,3075) = lu(k,3075) - lu(k,2127) * lu(k,3056)
         lu(k,3076) = lu(k,3076) - lu(k,2128) * lu(k,3056)
         lu(k,3078) = lu(k,3078) - lu(k,2129) * lu(k,3056)
         lu(k,3080) = lu(k,3080) - lu(k,2130) * lu(k,3056)
         lu(k,3082) = lu(k,3082) - lu(k,2131) * lu(k,3056)
         lu(k,3084) = lu(k,3084) - lu(k,2132) * lu(k,3056)
         lu(k,3085) = lu(k,3085) - lu(k,2133) * lu(k,3056)
         lu(k,3087) = lu(k,3087) - lu(k,2134) * lu(k,3056)
         lu(k,3088) = lu(k,3088) - lu(k,2135) * lu(k,3056)
         lu(k,3092) = lu(k,3092) - lu(k,2136) * lu(k,3056)
         lu(k,3263) = lu(k,3263) - lu(k,2120) * lu(k,3259)
         lu(k,3272) = lu(k,3272) - lu(k,2121) * lu(k,3259)
         lu(k,3273) = lu(k,3273) - lu(k,2122) * lu(k,3259)
         lu(k,3274) = lu(k,3274) - lu(k,2123) * lu(k,3259)
         lu(k,3275) = lu(k,3275) - lu(k,2124) * lu(k,3259)
         lu(k,3276) = lu(k,3276) - lu(k,2125) * lu(k,3259)
         lu(k,3277) = lu(k,3277) - lu(k,2126) * lu(k,3259)
         lu(k,3278) = lu(k,3278) - lu(k,2127) * lu(k,3259)
         lu(k,3279) = lu(k,3279) - lu(k,2128) * lu(k,3259)
         lu(k,3281) = lu(k,3281) - lu(k,2129) * lu(k,3259)
         lu(k,3283) = lu(k,3283) - lu(k,2130) * lu(k,3259)
         lu(k,3285) = lu(k,3285) - lu(k,2131) * lu(k,3259)
         lu(k,3287) = lu(k,3287) - lu(k,2132) * lu(k,3259)
         lu(k,3288) = lu(k,3288) - lu(k,2133) * lu(k,3259)
         lu(k,3290) = lu(k,3290) - lu(k,2134) * lu(k,3259)
         lu(k,3291) = lu(k,3291) - lu(k,2135) * lu(k,3259)
         lu(k,3295) = lu(k,3295) - lu(k,2136) * lu(k,3259)
         lu(k,3404) = lu(k,3404) - lu(k,2120) * lu(k,3400)
         lu(k,3413) = lu(k,3413) - lu(k,2121) * lu(k,3400)
         lu(k,3414) = lu(k,3414) - lu(k,2122) * lu(k,3400)
         lu(k,3415) = lu(k,3415) - lu(k,2123) * lu(k,3400)
         lu(k,3416) = lu(k,3416) - lu(k,2124) * lu(k,3400)
         lu(k,3417) = lu(k,3417) - lu(k,2125) * lu(k,3400)
         lu(k,3418) = lu(k,3418) - lu(k,2126) * lu(k,3400)
         lu(k,3419) = lu(k,3419) - lu(k,2127) * lu(k,3400)
         lu(k,3420) = lu(k,3420) - lu(k,2128) * lu(k,3400)
         lu(k,3422) = lu(k,3422) - lu(k,2129) * lu(k,3400)
         lu(k,3424) = lu(k,3424) - lu(k,2130) * lu(k,3400)
         lu(k,3426) = lu(k,3426) - lu(k,2131) * lu(k,3400)
         lu(k,3428) = lu(k,3428) - lu(k,2132) * lu(k,3400)
         lu(k,3429) = lu(k,3429) - lu(k,2133) * lu(k,3400)
         lu(k,3431) = lu(k,3431) - lu(k,2134) * lu(k,3400)
         lu(k,3432) = lu(k,3432) - lu(k,2135) * lu(k,3400)
         lu(k,3436) = lu(k,3436) - lu(k,2136) * lu(k,3400)
         lu(k,3724) = lu(k,3724) - lu(k,2120) * lu(k,3720)
         lu(k,3733) = lu(k,3733) - lu(k,2121) * lu(k,3720)
         lu(k,3734) = lu(k,3734) - lu(k,2122) * lu(k,3720)
         lu(k,3735) = lu(k,3735) - lu(k,2123) * lu(k,3720)
         lu(k,3736) = lu(k,3736) - lu(k,2124) * lu(k,3720)
         lu(k,3737) = lu(k,3737) - lu(k,2125) * lu(k,3720)
         lu(k,3738) = lu(k,3738) - lu(k,2126) * lu(k,3720)
         lu(k,3739) = lu(k,3739) - lu(k,2127) * lu(k,3720)
         lu(k,3740) = lu(k,3740) - lu(k,2128) * lu(k,3720)
         lu(k,3742) = lu(k,3742) - lu(k,2129) * lu(k,3720)
         lu(k,3744) = lu(k,3744) - lu(k,2130) * lu(k,3720)
         lu(k,3746) = lu(k,3746) - lu(k,2131) * lu(k,3720)
         lu(k,3748) = lu(k,3748) - lu(k,2132) * lu(k,3720)
         lu(k,3749) = lu(k,3749) - lu(k,2133) * lu(k,3720)
         lu(k,3751) = lu(k,3751) - lu(k,2134) * lu(k,3720)
         lu(k,3752) = lu(k,3752) - lu(k,2135) * lu(k,3720)
         lu(k,3756) = lu(k,3756) - lu(k,2136) * lu(k,3720)
         lu(k,2141) = 1._r8 / lu(k,2141)
         lu(k,2142) = lu(k,2142) * lu(k,2141)
         lu(k,2143) = lu(k,2143) * lu(k,2141)
         lu(k,2144) = lu(k,2144) * lu(k,2141)
         lu(k,2145) = lu(k,2145) * lu(k,2141)
         lu(k,2146) = lu(k,2146) * lu(k,2141)
         lu(k,2147) = lu(k,2147) * lu(k,2141)
         lu(k,2148) = lu(k,2148) * lu(k,2141)
         lu(k,2149) = lu(k,2149) * lu(k,2141)
         lu(k,2150) = lu(k,2150) * lu(k,2141)
         lu(k,2151) = lu(k,2151) * lu(k,2141)
         lu(k,2152) = lu(k,2152) * lu(k,2141)
         lu(k,2222) = lu(k,2222) - lu(k,2142) * lu(k,2211)
         lu(k,2223) = lu(k,2223) - lu(k,2143) * lu(k,2211)
         lu(k,2224) = lu(k,2224) - lu(k,2144) * lu(k,2211)
         lu(k,2225) = lu(k,2225) - lu(k,2145) * lu(k,2211)
         lu(k,2226) = lu(k,2226) - lu(k,2146) * lu(k,2211)
         lu(k,2227) = lu(k,2227) - lu(k,2147) * lu(k,2211)
         lu(k,2228) = lu(k,2228) - lu(k,2148) * lu(k,2211)
         lu(k,2229) = lu(k,2229) - lu(k,2149) * lu(k,2211)
         lu(k,2230) = lu(k,2230) - lu(k,2150) * lu(k,2211)
         lu(k,2231) = lu(k,2231) - lu(k,2151) * lu(k,2211)
         lu(k,2232) = - lu(k,2152) * lu(k,2211)
         lu(k,2251) = lu(k,2251) - lu(k,2142) * lu(k,2240)
         lu(k,2252) = lu(k,2252) - lu(k,2143) * lu(k,2240)
         lu(k,2253) = lu(k,2253) - lu(k,2144) * lu(k,2240)
         lu(k,2254) = lu(k,2254) - lu(k,2145) * lu(k,2240)
         lu(k,2255) = lu(k,2255) - lu(k,2146) * lu(k,2240)
         lu(k,2256) = lu(k,2256) - lu(k,2147) * lu(k,2240)
         lu(k,2257) = lu(k,2257) - lu(k,2148) * lu(k,2240)
         lu(k,2258) = lu(k,2258) - lu(k,2149) * lu(k,2240)
         lu(k,2259) = lu(k,2259) - lu(k,2150) * lu(k,2240)
         lu(k,2260) = lu(k,2260) - lu(k,2151) * lu(k,2240)
         lu(k,2261) = - lu(k,2152) * lu(k,2240)
         lu(k,2280) = lu(k,2280) - lu(k,2142) * lu(k,2268)
         lu(k,2281) = lu(k,2281) - lu(k,2143) * lu(k,2268)
         lu(k,2282) = - lu(k,2144) * lu(k,2268)
         lu(k,2283) = lu(k,2283) - lu(k,2145) * lu(k,2268)
         lu(k,2284) = lu(k,2284) - lu(k,2146) * lu(k,2268)
         lu(k,2285) = lu(k,2285) - lu(k,2147) * lu(k,2268)
         lu(k,2286) = lu(k,2286) - lu(k,2148) * lu(k,2268)
         lu(k,2287) = lu(k,2287) - lu(k,2149) * lu(k,2268)
         lu(k,2288) = lu(k,2288) - lu(k,2150) * lu(k,2268)
         lu(k,2289) = lu(k,2289) - lu(k,2151) * lu(k,2268)
         lu(k,2290) = - lu(k,2152) * lu(k,2268)
         lu(k,2373) = lu(k,2373) - lu(k,2142) * lu(k,2361)
         lu(k,2374) = lu(k,2374) - lu(k,2143) * lu(k,2361)
         lu(k,2375) = - lu(k,2144) * lu(k,2361)
         lu(k,2376) = lu(k,2376) - lu(k,2145) * lu(k,2361)
         lu(k,2377) = lu(k,2377) - lu(k,2146) * lu(k,2361)
         lu(k,2378) = lu(k,2378) - lu(k,2147) * lu(k,2361)
         lu(k,2379) = lu(k,2379) - lu(k,2148) * lu(k,2361)
         lu(k,2380) = lu(k,2380) - lu(k,2149) * lu(k,2361)
         lu(k,2381) = lu(k,2381) - lu(k,2150) * lu(k,2361)
         lu(k,2382) = lu(k,2382) - lu(k,2151) * lu(k,2361)
         lu(k,2383) = lu(k,2383) - lu(k,2152) * lu(k,2361)
         lu(k,2493) = lu(k,2493) - lu(k,2142) * lu(k,2485)
         lu(k,2494) = lu(k,2494) - lu(k,2143) * lu(k,2485)
         lu(k,2495) = lu(k,2495) - lu(k,2144) * lu(k,2485)
         lu(k,2496) = lu(k,2496) - lu(k,2145) * lu(k,2485)
         lu(k,2497) = lu(k,2497) - lu(k,2146) * lu(k,2485)
         lu(k,2498) = lu(k,2498) - lu(k,2147) * lu(k,2485)
         lu(k,2499) = lu(k,2499) - lu(k,2148) * lu(k,2485)
         lu(k,2500) = lu(k,2500) - lu(k,2149) * lu(k,2485)
         lu(k,2501) = lu(k,2501) - lu(k,2150) * lu(k,2485)
         lu(k,2502) = lu(k,2502) - lu(k,2151) * lu(k,2485)
         lu(k,2503) = - lu(k,2152) * lu(k,2485)
         lu(k,2535) = lu(k,2535) - lu(k,2142) * lu(k,2517)
         lu(k,2536) = lu(k,2536) - lu(k,2143) * lu(k,2517)
         lu(k,2537) = lu(k,2537) - lu(k,2144) * lu(k,2517)
         lu(k,2538) = lu(k,2538) - lu(k,2145) * lu(k,2517)
         lu(k,2540) = lu(k,2540) - lu(k,2146) * lu(k,2517)
         lu(k,2541) = lu(k,2541) - lu(k,2147) * lu(k,2517)
         lu(k,2542) = lu(k,2542) - lu(k,2148) * lu(k,2517)
         lu(k,2543) = lu(k,2543) - lu(k,2149) * lu(k,2517)
         lu(k,2545) = lu(k,2545) - lu(k,2150) * lu(k,2517)
         lu(k,2546) = lu(k,2546) - lu(k,2151) * lu(k,2517)
         lu(k,2549) = lu(k,2549) - lu(k,2152) * lu(k,2517)
         lu(k,2581) = lu(k,2581) - lu(k,2142) * lu(k,2563)
         lu(k,2582) = lu(k,2582) - lu(k,2143) * lu(k,2563)
         lu(k,2583) = lu(k,2583) - lu(k,2144) * lu(k,2563)
         lu(k,2584) = lu(k,2584) - lu(k,2145) * lu(k,2563)
         lu(k,2586) = lu(k,2586) - lu(k,2146) * lu(k,2563)
         lu(k,2587) = lu(k,2587) - lu(k,2147) * lu(k,2563)
         lu(k,2588) = lu(k,2588) - lu(k,2148) * lu(k,2563)
         lu(k,2589) = lu(k,2589) - lu(k,2149) * lu(k,2563)
         lu(k,2591) = lu(k,2591) - lu(k,2150) * lu(k,2563)
         lu(k,2592) = lu(k,2592) - lu(k,2151) * lu(k,2563)
         lu(k,2595) = lu(k,2595) - lu(k,2152) * lu(k,2563)
         lu(k,2628) = lu(k,2628) - lu(k,2142) * lu(k,2610)
         lu(k,2629) = lu(k,2629) - lu(k,2143) * lu(k,2610)
         lu(k,2630) = lu(k,2630) - lu(k,2144) * lu(k,2610)
         lu(k,2631) = lu(k,2631) - lu(k,2145) * lu(k,2610)
         lu(k,2633) = lu(k,2633) - lu(k,2146) * lu(k,2610)
         lu(k,2634) = lu(k,2634) - lu(k,2147) * lu(k,2610)
         lu(k,2635) = lu(k,2635) - lu(k,2148) * lu(k,2610)
         lu(k,2636) = lu(k,2636) - lu(k,2149) * lu(k,2610)
         lu(k,2638) = lu(k,2638) - lu(k,2150) * lu(k,2610)
         lu(k,2639) = lu(k,2639) - lu(k,2151) * lu(k,2610)
         lu(k,2642) = lu(k,2642) - lu(k,2152) * lu(k,2610)
         lu(k,2699) = lu(k,2699) - lu(k,2142) * lu(k,2681)
         lu(k,2700) = lu(k,2700) - lu(k,2143) * lu(k,2681)
         lu(k,2701) = lu(k,2701) - lu(k,2144) * lu(k,2681)
         lu(k,2702) = lu(k,2702) - lu(k,2145) * lu(k,2681)
         lu(k,2704) = lu(k,2704) - lu(k,2146) * lu(k,2681)
         lu(k,2705) = lu(k,2705) - lu(k,2147) * lu(k,2681)
         lu(k,2706) = lu(k,2706) - lu(k,2148) * lu(k,2681)
         lu(k,2707) = lu(k,2707) - lu(k,2149) * lu(k,2681)
         lu(k,2709) = lu(k,2709) - lu(k,2150) * lu(k,2681)
         lu(k,2710) = lu(k,2710) - lu(k,2151) * lu(k,2681)
         lu(k,2713) = lu(k,2713) - lu(k,2152) * lu(k,2681)
         lu(k,2882) = lu(k,2882) - lu(k,2142) * lu(k,2864)
         lu(k,2883) = lu(k,2883) - lu(k,2143) * lu(k,2864)
         lu(k,2884) = lu(k,2884) - lu(k,2144) * lu(k,2864)
         lu(k,2885) = lu(k,2885) - lu(k,2145) * lu(k,2864)
         lu(k,2887) = lu(k,2887) - lu(k,2146) * lu(k,2864)
         lu(k,2889) = lu(k,2889) - lu(k,2147) * lu(k,2864)
         lu(k,2891) = lu(k,2891) - lu(k,2148) * lu(k,2864)
         lu(k,2892) = lu(k,2892) - lu(k,2149) * lu(k,2864)
         lu(k,2894) = lu(k,2894) - lu(k,2150) * lu(k,2864)
         lu(k,2895) = lu(k,2895) - lu(k,2151) * lu(k,2864)
         lu(k,2899) = lu(k,2899) - lu(k,2152) * lu(k,2864)
         lu(k,2983) = lu(k,2983) - lu(k,2142) * lu(k,2965)
         lu(k,2984) = lu(k,2984) - lu(k,2143) * lu(k,2965)
         lu(k,2985) = lu(k,2985) - lu(k,2144) * lu(k,2965)
         lu(k,2986) = lu(k,2986) - lu(k,2145) * lu(k,2965)
         lu(k,2988) = lu(k,2988) - lu(k,2146) * lu(k,2965)
         lu(k,2990) = lu(k,2990) - lu(k,2147) * lu(k,2965)
         lu(k,2992) = lu(k,2992) - lu(k,2148) * lu(k,2965)
         lu(k,2993) = lu(k,2993) - lu(k,2149) * lu(k,2965)
         lu(k,2995) = lu(k,2995) - lu(k,2150) * lu(k,2965)
         lu(k,2996) = lu(k,2996) - lu(k,2151) * lu(k,2965)
         lu(k,3000) = lu(k,3000) - lu(k,2152) * lu(k,2965)
         lu(k,3075) = lu(k,3075) - lu(k,2142) * lu(k,3057)
         lu(k,3076) = lu(k,3076) - lu(k,2143) * lu(k,3057)
         lu(k,3077) = lu(k,3077) - lu(k,2144) * lu(k,3057)
         lu(k,3078) = lu(k,3078) - lu(k,2145) * lu(k,3057)
         lu(k,3080) = lu(k,3080) - lu(k,2146) * lu(k,3057)
         lu(k,3082) = lu(k,3082) - lu(k,2147) * lu(k,3057)
         lu(k,3084) = lu(k,3084) - lu(k,2148) * lu(k,3057)
         lu(k,3085) = lu(k,3085) - lu(k,2149) * lu(k,3057)
         lu(k,3087) = lu(k,3087) - lu(k,2150) * lu(k,3057)
         lu(k,3088) = lu(k,3088) - lu(k,2151) * lu(k,3057)
         lu(k,3092) = lu(k,3092) - lu(k,2152) * lu(k,3057)
         lu(k,3278) = lu(k,3278) - lu(k,2142) * lu(k,3260)
         lu(k,3279) = lu(k,3279) - lu(k,2143) * lu(k,3260)
         lu(k,3280) = lu(k,3280) - lu(k,2144) * lu(k,3260)
         lu(k,3281) = lu(k,3281) - lu(k,2145) * lu(k,3260)
         lu(k,3283) = lu(k,3283) - lu(k,2146) * lu(k,3260)
         lu(k,3285) = lu(k,3285) - lu(k,2147) * lu(k,3260)
         lu(k,3287) = lu(k,3287) - lu(k,2148) * lu(k,3260)
         lu(k,3288) = lu(k,3288) - lu(k,2149) * lu(k,3260)
         lu(k,3290) = lu(k,3290) - lu(k,2150) * lu(k,3260)
         lu(k,3291) = lu(k,3291) - lu(k,2151) * lu(k,3260)
         lu(k,3295) = lu(k,3295) - lu(k,2152) * lu(k,3260)
         lu(k,3419) = lu(k,3419) - lu(k,2142) * lu(k,3401)
         lu(k,3420) = lu(k,3420) - lu(k,2143) * lu(k,3401)
         lu(k,3421) = lu(k,3421) - lu(k,2144) * lu(k,3401)
         lu(k,3422) = lu(k,3422) - lu(k,2145) * lu(k,3401)
         lu(k,3424) = lu(k,3424) - lu(k,2146) * lu(k,3401)
         lu(k,3426) = lu(k,3426) - lu(k,2147) * lu(k,3401)
         lu(k,3428) = lu(k,3428) - lu(k,2148) * lu(k,3401)
         lu(k,3429) = lu(k,3429) - lu(k,2149) * lu(k,3401)
         lu(k,3431) = lu(k,3431) - lu(k,2150) * lu(k,3401)
         lu(k,3432) = lu(k,3432) - lu(k,2151) * lu(k,3401)
         lu(k,3436) = lu(k,3436) - lu(k,2152) * lu(k,3401)
         lu(k,3499) = lu(k,3499) - lu(k,2142) * lu(k,3494)
         lu(k,3500) = lu(k,3500) - lu(k,2143) * lu(k,3494)
         lu(k,3501) = lu(k,3501) - lu(k,2144) * lu(k,3494)
         lu(k,3502) = lu(k,3502) - lu(k,2145) * lu(k,3494)
         lu(k,3504) = lu(k,3504) - lu(k,2146) * lu(k,3494)
         lu(k,3506) = lu(k,3506) - lu(k,2147) * lu(k,3494)
         lu(k,3508) = lu(k,3508) - lu(k,2148) * lu(k,3494)
         lu(k,3509) = lu(k,3509) - lu(k,2149) * lu(k,3494)
         lu(k,3511) = lu(k,3511) - lu(k,2150) * lu(k,3494)
         lu(k,3512) = lu(k,3512) - lu(k,2151) * lu(k,3494)
         lu(k,3516) = lu(k,3516) - lu(k,2152) * lu(k,3494)
         lu(k,3739) = lu(k,3739) - lu(k,2142) * lu(k,3721)
         lu(k,3740) = lu(k,3740) - lu(k,2143) * lu(k,3721)
         lu(k,3741) = lu(k,3741) - lu(k,2144) * lu(k,3721)
         lu(k,3742) = lu(k,3742) - lu(k,2145) * lu(k,3721)
         lu(k,3744) = lu(k,3744) - lu(k,2146) * lu(k,3721)
         lu(k,3746) = lu(k,3746) - lu(k,2147) * lu(k,3721)
         lu(k,3748) = lu(k,3748) - lu(k,2148) * lu(k,3721)
         lu(k,3749) = lu(k,3749) - lu(k,2149) * lu(k,3721)
         lu(k,3751) = lu(k,3751) - lu(k,2150) * lu(k,3721)
         lu(k,3752) = lu(k,3752) - lu(k,2151) * lu(k,3721)
         lu(k,3756) = lu(k,3756) - lu(k,2152) * lu(k,3721)
      end do
      end subroutine lu_fac42
      subroutine lu_fac43( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,2156) = 1._r8 / lu(k,2156)
         lu(k,2157) = lu(k,2157) * lu(k,2156)
         lu(k,2158) = lu(k,2158) * lu(k,2156)
         lu(k,2159) = lu(k,2159) * lu(k,2156)
         lu(k,2160) = lu(k,2160) * lu(k,2156)
         lu(k,2161) = lu(k,2161) * lu(k,2156)
         lu(k,2162) = lu(k,2162) * lu(k,2156)
         lu(k,2163) = lu(k,2163) * lu(k,2156)
         lu(k,2164) = lu(k,2164) * lu(k,2156)
         lu(k,2165) = lu(k,2165) * lu(k,2156)
         lu(k,2166) = lu(k,2166) * lu(k,2156)
         lu(k,2167) = lu(k,2167) * lu(k,2156)
         lu(k,2168) = lu(k,2168) * lu(k,2156)
         lu(k,2169) = lu(k,2169) * lu(k,2156)
         lu(k,2170) = lu(k,2170) * lu(k,2156)
         lu(k,2171) = lu(k,2171) * lu(k,2156)
         lu(k,2172) = lu(k,2172) * lu(k,2156)
         lu(k,2173) = lu(k,2173) * lu(k,2156)
         lu(k,2174) = lu(k,2174) * lu(k,2156)
         lu(k,2519) = lu(k,2519) - lu(k,2157) * lu(k,2518)
         lu(k,2520) = lu(k,2520) - lu(k,2158) * lu(k,2518)
         lu(k,2528) = lu(k,2528) - lu(k,2159) * lu(k,2518)
         lu(k,2529) = lu(k,2529) - lu(k,2160) * lu(k,2518)
         lu(k,2530) = lu(k,2530) - lu(k,2161) * lu(k,2518)
         lu(k,2531) = lu(k,2531) - lu(k,2162) * lu(k,2518)
         lu(k,2532) = lu(k,2532) - lu(k,2163) * lu(k,2518)
         lu(k,2533) = lu(k,2533) - lu(k,2164) * lu(k,2518)
         lu(k,2534) = lu(k,2534) - lu(k,2165) * lu(k,2518)
         lu(k,2535) = lu(k,2535) - lu(k,2166) * lu(k,2518)
         lu(k,2536) = lu(k,2536) - lu(k,2167) * lu(k,2518)
         lu(k,2538) = lu(k,2538) - lu(k,2168) * lu(k,2518)
         lu(k,2540) = lu(k,2540) - lu(k,2169) * lu(k,2518)
         lu(k,2541) = lu(k,2541) - lu(k,2170) * lu(k,2518)
         lu(k,2542) = lu(k,2542) - lu(k,2171) * lu(k,2518)
         lu(k,2543) = lu(k,2543) - lu(k,2172) * lu(k,2518)
         lu(k,2545) = lu(k,2545) - lu(k,2173) * lu(k,2518)
         lu(k,2546) = lu(k,2546) - lu(k,2174) * lu(k,2518)
         lu(k,2565) = lu(k,2565) - lu(k,2157) * lu(k,2564)
         lu(k,2566) = lu(k,2566) - lu(k,2158) * lu(k,2564)
         lu(k,2574) = lu(k,2574) - lu(k,2159) * lu(k,2564)
         lu(k,2575) = lu(k,2575) - lu(k,2160) * lu(k,2564)
         lu(k,2576) = lu(k,2576) - lu(k,2161) * lu(k,2564)
         lu(k,2577) = lu(k,2577) - lu(k,2162) * lu(k,2564)
         lu(k,2578) = lu(k,2578) - lu(k,2163) * lu(k,2564)
         lu(k,2579) = lu(k,2579) - lu(k,2164) * lu(k,2564)
         lu(k,2580) = lu(k,2580) - lu(k,2165) * lu(k,2564)
         lu(k,2581) = lu(k,2581) - lu(k,2166) * lu(k,2564)
         lu(k,2582) = lu(k,2582) - lu(k,2167) * lu(k,2564)
         lu(k,2584) = lu(k,2584) - lu(k,2168) * lu(k,2564)
         lu(k,2586) = lu(k,2586) - lu(k,2169) * lu(k,2564)
         lu(k,2587) = lu(k,2587) - lu(k,2170) * lu(k,2564)
         lu(k,2588) = lu(k,2588) - lu(k,2171) * lu(k,2564)
         lu(k,2589) = lu(k,2589) - lu(k,2172) * lu(k,2564)
         lu(k,2591) = lu(k,2591) - lu(k,2173) * lu(k,2564)
         lu(k,2592) = lu(k,2592) - lu(k,2174) * lu(k,2564)
         lu(k,2612) = lu(k,2612) - lu(k,2157) * lu(k,2611)
         lu(k,2613) = lu(k,2613) - lu(k,2158) * lu(k,2611)
         lu(k,2621) = lu(k,2621) - lu(k,2159) * lu(k,2611)
         lu(k,2622) = lu(k,2622) - lu(k,2160) * lu(k,2611)
         lu(k,2623) = lu(k,2623) - lu(k,2161) * lu(k,2611)
         lu(k,2624) = lu(k,2624) - lu(k,2162) * lu(k,2611)
         lu(k,2625) = lu(k,2625) - lu(k,2163) * lu(k,2611)
         lu(k,2626) = lu(k,2626) - lu(k,2164) * lu(k,2611)
         lu(k,2627) = lu(k,2627) - lu(k,2165) * lu(k,2611)
         lu(k,2628) = lu(k,2628) - lu(k,2166) * lu(k,2611)
         lu(k,2629) = lu(k,2629) - lu(k,2167) * lu(k,2611)
         lu(k,2631) = lu(k,2631) - lu(k,2168) * lu(k,2611)
         lu(k,2633) = lu(k,2633) - lu(k,2169) * lu(k,2611)
         lu(k,2634) = lu(k,2634) - lu(k,2170) * lu(k,2611)
         lu(k,2635) = lu(k,2635) - lu(k,2171) * lu(k,2611)
         lu(k,2636) = lu(k,2636) - lu(k,2172) * lu(k,2611)
         lu(k,2638) = lu(k,2638) - lu(k,2173) * lu(k,2611)
         lu(k,2639) = lu(k,2639) - lu(k,2174) * lu(k,2611)
         lu(k,2683) = lu(k,2683) - lu(k,2157) * lu(k,2682)
         lu(k,2684) = lu(k,2684) - lu(k,2158) * lu(k,2682)
         lu(k,2692) = lu(k,2692) - lu(k,2159) * lu(k,2682)
         lu(k,2693) = lu(k,2693) - lu(k,2160) * lu(k,2682)
         lu(k,2694) = lu(k,2694) - lu(k,2161) * lu(k,2682)
         lu(k,2695) = lu(k,2695) - lu(k,2162) * lu(k,2682)
         lu(k,2696) = lu(k,2696) - lu(k,2163) * lu(k,2682)
         lu(k,2697) = lu(k,2697) - lu(k,2164) * lu(k,2682)
         lu(k,2698) = lu(k,2698) - lu(k,2165) * lu(k,2682)
         lu(k,2699) = lu(k,2699) - lu(k,2166) * lu(k,2682)
         lu(k,2700) = lu(k,2700) - lu(k,2167) * lu(k,2682)
         lu(k,2702) = lu(k,2702) - lu(k,2168) * lu(k,2682)
         lu(k,2704) = lu(k,2704) - lu(k,2169) * lu(k,2682)
         lu(k,2705) = lu(k,2705) - lu(k,2170) * lu(k,2682)
         lu(k,2706) = lu(k,2706) - lu(k,2171) * lu(k,2682)
         lu(k,2707) = lu(k,2707) - lu(k,2172) * lu(k,2682)
         lu(k,2709) = lu(k,2709) - lu(k,2173) * lu(k,2682)
         lu(k,2710) = lu(k,2710) - lu(k,2174) * lu(k,2682)
         lu(k,2866) = lu(k,2866) - lu(k,2157) * lu(k,2865)
         lu(k,2867) = lu(k,2867) - lu(k,2158) * lu(k,2865)
         lu(k,2875) = lu(k,2875) - lu(k,2159) * lu(k,2865)
         lu(k,2876) = lu(k,2876) - lu(k,2160) * lu(k,2865)
         lu(k,2877) = lu(k,2877) - lu(k,2161) * lu(k,2865)
         lu(k,2878) = lu(k,2878) - lu(k,2162) * lu(k,2865)
         lu(k,2879) = lu(k,2879) - lu(k,2163) * lu(k,2865)
         lu(k,2880) = lu(k,2880) - lu(k,2164) * lu(k,2865)
         lu(k,2881) = lu(k,2881) - lu(k,2165) * lu(k,2865)
         lu(k,2882) = lu(k,2882) - lu(k,2166) * lu(k,2865)
         lu(k,2883) = lu(k,2883) - lu(k,2167) * lu(k,2865)
         lu(k,2885) = lu(k,2885) - lu(k,2168) * lu(k,2865)
         lu(k,2887) = lu(k,2887) - lu(k,2169) * lu(k,2865)
         lu(k,2889) = lu(k,2889) - lu(k,2170) * lu(k,2865)
         lu(k,2891) = lu(k,2891) - lu(k,2171) * lu(k,2865)
         lu(k,2892) = lu(k,2892) - lu(k,2172) * lu(k,2865)
         lu(k,2894) = lu(k,2894) - lu(k,2173) * lu(k,2865)
         lu(k,2895) = lu(k,2895) - lu(k,2174) * lu(k,2865)
         lu(k,2967) = lu(k,2967) - lu(k,2157) * lu(k,2966)
         lu(k,2968) = lu(k,2968) - lu(k,2158) * lu(k,2966)
         lu(k,2976) = lu(k,2976) - lu(k,2159) * lu(k,2966)
         lu(k,2977) = lu(k,2977) - lu(k,2160) * lu(k,2966)
         lu(k,2978) = lu(k,2978) - lu(k,2161) * lu(k,2966)
         lu(k,2979) = lu(k,2979) - lu(k,2162) * lu(k,2966)
         lu(k,2980) = lu(k,2980) - lu(k,2163) * lu(k,2966)
         lu(k,2981) = lu(k,2981) - lu(k,2164) * lu(k,2966)
         lu(k,2982) = lu(k,2982) - lu(k,2165) * lu(k,2966)
         lu(k,2983) = lu(k,2983) - lu(k,2166) * lu(k,2966)
         lu(k,2984) = lu(k,2984) - lu(k,2167) * lu(k,2966)
         lu(k,2986) = lu(k,2986) - lu(k,2168) * lu(k,2966)
         lu(k,2988) = lu(k,2988) - lu(k,2169) * lu(k,2966)
         lu(k,2990) = lu(k,2990) - lu(k,2170) * lu(k,2966)
         lu(k,2992) = lu(k,2992) - lu(k,2171) * lu(k,2966)
         lu(k,2993) = lu(k,2993) - lu(k,2172) * lu(k,2966)
         lu(k,2995) = lu(k,2995) - lu(k,2173) * lu(k,2966)
         lu(k,2996) = lu(k,2996) - lu(k,2174) * lu(k,2966)
         lu(k,3059) = lu(k,3059) - lu(k,2157) * lu(k,3058)
         lu(k,3060) = lu(k,3060) - lu(k,2158) * lu(k,3058)
         lu(k,3068) = lu(k,3068) - lu(k,2159) * lu(k,3058)
         lu(k,3069) = lu(k,3069) - lu(k,2160) * lu(k,3058)
         lu(k,3070) = lu(k,3070) - lu(k,2161) * lu(k,3058)
         lu(k,3071) = lu(k,3071) - lu(k,2162) * lu(k,3058)
         lu(k,3072) = lu(k,3072) - lu(k,2163) * lu(k,3058)
         lu(k,3073) = lu(k,3073) - lu(k,2164) * lu(k,3058)
         lu(k,3074) = lu(k,3074) - lu(k,2165) * lu(k,3058)
         lu(k,3075) = lu(k,3075) - lu(k,2166) * lu(k,3058)
         lu(k,3076) = lu(k,3076) - lu(k,2167) * lu(k,3058)
         lu(k,3078) = lu(k,3078) - lu(k,2168) * lu(k,3058)
         lu(k,3080) = lu(k,3080) - lu(k,2169) * lu(k,3058)
         lu(k,3082) = lu(k,3082) - lu(k,2170) * lu(k,3058)
         lu(k,3084) = lu(k,3084) - lu(k,2171) * lu(k,3058)
         lu(k,3085) = lu(k,3085) - lu(k,2172) * lu(k,3058)
         lu(k,3087) = lu(k,3087) - lu(k,2173) * lu(k,3058)
         lu(k,3088) = lu(k,3088) - lu(k,2174) * lu(k,3058)
         lu(k,3262) = lu(k,3262) - lu(k,2157) * lu(k,3261)
         lu(k,3263) = lu(k,3263) - lu(k,2158) * lu(k,3261)
         lu(k,3271) = lu(k,3271) - lu(k,2159) * lu(k,3261)
         lu(k,3272) = lu(k,3272) - lu(k,2160) * lu(k,3261)
         lu(k,3273) = lu(k,3273) - lu(k,2161) * lu(k,3261)
         lu(k,3274) = lu(k,3274) - lu(k,2162) * lu(k,3261)
         lu(k,3275) = lu(k,3275) - lu(k,2163) * lu(k,3261)
         lu(k,3276) = lu(k,3276) - lu(k,2164) * lu(k,3261)
         lu(k,3277) = lu(k,3277) - lu(k,2165) * lu(k,3261)
         lu(k,3278) = lu(k,3278) - lu(k,2166) * lu(k,3261)
         lu(k,3279) = lu(k,3279) - lu(k,2167) * lu(k,3261)
         lu(k,3281) = lu(k,3281) - lu(k,2168) * lu(k,3261)
         lu(k,3283) = lu(k,3283) - lu(k,2169) * lu(k,3261)
         lu(k,3285) = lu(k,3285) - lu(k,2170) * lu(k,3261)
         lu(k,3287) = lu(k,3287) - lu(k,2171) * lu(k,3261)
         lu(k,3288) = lu(k,3288) - lu(k,2172) * lu(k,3261)
         lu(k,3290) = lu(k,3290) - lu(k,2173) * lu(k,3261)
         lu(k,3291) = lu(k,3291) - lu(k,2174) * lu(k,3261)
         lu(k,3403) = lu(k,3403) - lu(k,2157) * lu(k,3402)
         lu(k,3404) = lu(k,3404) - lu(k,2158) * lu(k,3402)
         lu(k,3412) = lu(k,3412) - lu(k,2159) * lu(k,3402)
         lu(k,3413) = lu(k,3413) - lu(k,2160) * lu(k,3402)
         lu(k,3414) = lu(k,3414) - lu(k,2161) * lu(k,3402)
         lu(k,3415) = lu(k,3415) - lu(k,2162) * lu(k,3402)
         lu(k,3416) = lu(k,3416) - lu(k,2163) * lu(k,3402)
         lu(k,3417) = lu(k,3417) - lu(k,2164) * lu(k,3402)
         lu(k,3418) = lu(k,3418) - lu(k,2165) * lu(k,3402)
         lu(k,3419) = lu(k,3419) - lu(k,2166) * lu(k,3402)
         lu(k,3420) = lu(k,3420) - lu(k,2167) * lu(k,3402)
         lu(k,3422) = lu(k,3422) - lu(k,2168) * lu(k,3402)
         lu(k,3424) = lu(k,3424) - lu(k,2169) * lu(k,3402)
         lu(k,3426) = lu(k,3426) - lu(k,2170) * lu(k,3402)
         lu(k,3428) = lu(k,3428) - lu(k,2171) * lu(k,3402)
         lu(k,3429) = lu(k,3429) - lu(k,2172) * lu(k,3402)
         lu(k,3431) = lu(k,3431) - lu(k,2173) * lu(k,3402)
         lu(k,3432) = lu(k,3432) - lu(k,2174) * lu(k,3402)
         lu(k,3723) = lu(k,3723) - lu(k,2157) * lu(k,3722)
         lu(k,3724) = lu(k,3724) - lu(k,2158) * lu(k,3722)
         lu(k,3732) = lu(k,3732) - lu(k,2159) * lu(k,3722)
         lu(k,3733) = lu(k,3733) - lu(k,2160) * lu(k,3722)
         lu(k,3734) = lu(k,3734) - lu(k,2161) * lu(k,3722)
         lu(k,3735) = lu(k,3735) - lu(k,2162) * lu(k,3722)
         lu(k,3736) = lu(k,3736) - lu(k,2163) * lu(k,3722)
         lu(k,3737) = lu(k,3737) - lu(k,2164) * lu(k,3722)
         lu(k,3738) = lu(k,3738) - lu(k,2165) * lu(k,3722)
         lu(k,3739) = lu(k,3739) - lu(k,2166) * lu(k,3722)
         lu(k,3740) = lu(k,3740) - lu(k,2167) * lu(k,3722)
         lu(k,3742) = lu(k,3742) - lu(k,2168) * lu(k,3722)
         lu(k,3744) = lu(k,3744) - lu(k,2169) * lu(k,3722)
         lu(k,3746) = lu(k,3746) - lu(k,2170) * lu(k,3722)
         lu(k,3748) = lu(k,3748) - lu(k,2171) * lu(k,3722)
         lu(k,3749) = lu(k,3749) - lu(k,2172) * lu(k,3722)
         lu(k,3751) = lu(k,3751) - lu(k,2173) * lu(k,3722)
         lu(k,3752) = lu(k,3752) - lu(k,2174) * lu(k,3722)
         lu(k,2179) = 1._r8 / lu(k,2179)
         lu(k,2180) = lu(k,2180) * lu(k,2179)
         lu(k,2181) = lu(k,2181) * lu(k,2179)
         lu(k,2182) = lu(k,2182) * lu(k,2179)
         lu(k,2183) = lu(k,2183) * lu(k,2179)
         lu(k,2184) = lu(k,2184) * lu(k,2179)
         lu(k,2185) = lu(k,2185) * lu(k,2179)
         lu(k,2186) = lu(k,2186) * lu(k,2179)
         lu(k,2187) = lu(k,2187) * lu(k,2179)
         lu(k,2188) = lu(k,2188) * lu(k,2179)
         lu(k,2189) = lu(k,2189) * lu(k,2179)
         lu(k,2190) = lu(k,2190) * lu(k,2179)
         lu(k,2191) = lu(k,2191) * lu(k,2179)
         lu(k,2213) = lu(k,2213) - lu(k,2180) * lu(k,2212)
         lu(k,2215) = lu(k,2215) - lu(k,2181) * lu(k,2212)
         lu(k,2217) = lu(k,2217) - lu(k,2182) * lu(k,2212)
         lu(k,2220) = lu(k,2220) - lu(k,2183) * lu(k,2212)
         lu(k,2223) = lu(k,2223) - lu(k,2184) * lu(k,2212)
         lu(k,2224) = lu(k,2224) - lu(k,2185) * lu(k,2212)
         lu(k,2225) = lu(k,2225) - lu(k,2186) * lu(k,2212)
         lu(k,2226) = lu(k,2226) - lu(k,2187) * lu(k,2212)
         lu(k,2227) = lu(k,2227) - lu(k,2188) * lu(k,2212)
         lu(k,2228) = lu(k,2228) - lu(k,2189) * lu(k,2212)
         lu(k,2230) = lu(k,2230) - lu(k,2190) * lu(k,2212)
         lu(k,2231) = lu(k,2231) - lu(k,2191) * lu(k,2212)
         lu(k,2242) = lu(k,2242) - lu(k,2180) * lu(k,2241)
         lu(k,2244) = lu(k,2244) - lu(k,2181) * lu(k,2241)
         lu(k,2246) = lu(k,2246) - lu(k,2182) * lu(k,2241)
         lu(k,2249) = lu(k,2249) - lu(k,2183) * lu(k,2241)
         lu(k,2252) = lu(k,2252) - lu(k,2184) * lu(k,2241)
         lu(k,2253) = lu(k,2253) - lu(k,2185) * lu(k,2241)
         lu(k,2254) = lu(k,2254) - lu(k,2186) * lu(k,2241)
         lu(k,2255) = lu(k,2255) - lu(k,2187) * lu(k,2241)
         lu(k,2256) = lu(k,2256) - lu(k,2188) * lu(k,2241)
         lu(k,2257) = lu(k,2257) - lu(k,2189) * lu(k,2241)
         lu(k,2259) = lu(k,2259) - lu(k,2190) * lu(k,2241)
         lu(k,2260) = lu(k,2260) - lu(k,2191) * lu(k,2241)
         lu(k,2270) = lu(k,2270) - lu(k,2180) * lu(k,2269)
         lu(k,2273) = lu(k,2273) - lu(k,2181) * lu(k,2269)
         lu(k,2275) = lu(k,2275) - lu(k,2182) * lu(k,2269)
         lu(k,2278) = lu(k,2278) - lu(k,2183) * lu(k,2269)
         lu(k,2281) = lu(k,2281) - lu(k,2184) * lu(k,2269)
         lu(k,2282) = lu(k,2282) - lu(k,2185) * lu(k,2269)
         lu(k,2283) = lu(k,2283) - lu(k,2186) * lu(k,2269)
         lu(k,2284) = lu(k,2284) - lu(k,2187) * lu(k,2269)
         lu(k,2285) = lu(k,2285) - lu(k,2188) * lu(k,2269)
         lu(k,2286) = lu(k,2286) - lu(k,2189) * lu(k,2269)
         lu(k,2288) = lu(k,2288) - lu(k,2190) * lu(k,2269)
         lu(k,2289) = lu(k,2289) - lu(k,2191) * lu(k,2269)
         lu(k,2391) = lu(k,2391) - lu(k,2180) * lu(k,2390)
         lu(k,2393) = lu(k,2393) - lu(k,2181) * lu(k,2390)
         lu(k,2395) = - lu(k,2182) * lu(k,2390)
         lu(k,2397) = - lu(k,2183) * lu(k,2390)
         lu(k,2399) = lu(k,2399) - lu(k,2184) * lu(k,2390)
         lu(k,2400) = - lu(k,2185) * lu(k,2390)
         lu(k,2401) = lu(k,2401) - lu(k,2186) * lu(k,2390)
         lu(k,2403) = lu(k,2403) - lu(k,2187) * lu(k,2390)
         lu(k,2404) = lu(k,2404) - lu(k,2188) * lu(k,2390)
         lu(k,2405) = lu(k,2405) - lu(k,2189) * lu(k,2390)
         lu(k,2407) = lu(k,2407) - lu(k,2190) * lu(k,2390)
         lu(k,2408) = lu(k,2408) - lu(k,2191) * lu(k,2390)
         lu(k,2520) = lu(k,2520) - lu(k,2180) * lu(k,2519)
         lu(k,2528) = lu(k,2528) - lu(k,2181) * lu(k,2519)
         lu(k,2530) = lu(k,2530) - lu(k,2182) * lu(k,2519)
         lu(k,2533) = lu(k,2533) - lu(k,2183) * lu(k,2519)
         lu(k,2536) = lu(k,2536) - lu(k,2184) * lu(k,2519)
         lu(k,2537) = lu(k,2537) - lu(k,2185) * lu(k,2519)
         lu(k,2538) = lu(k,2538) - lu(k,2186) * lu(k,2519)
         lu(k,2540) = lu(k,2540) - lu(k,2187) * lu(k,2519)
         lu(k,2541) = lu(k,2541) - lu(k,2188) * lu(k,2519)
         lu(k,2542) = lu(k,2542) - lu(k,2189) * lu(k,2519)
         lu(k,2545) = lu(k,2545) - lu(k,2190) * lu(k,2519)
         lu(k,2546) = lu(k,2546) - lu(k,2191) * lu(k,2519)
         lu(k,2566) = lu(k,2566) - lu(k,2180) * lu(k,2565)
         lu(k,2574) = lu(k,2574) - lu(k,2181) * lu(k,2565)
         lu(k,2576) = lu(k,2576) - lu(k,2182) * lu(k,2565)
         lu(k,2579) = lu(k,2579) - lu(k,2183) * lu(k,2565)
         lu(k,2582) = lu(k,2582) - lu(k,2184) * lu(k,2565)
         lu(k,2583) = lu(k,2583) - lu(k,2185) * lu(k,2565)
         lu(k,2584) = lu(k,2584) - lu(k,2186) * lu(k,2565)
         lu(k,2586) = lu(k,2586) - lu(k,2187) * lu(k,2565)
         lu(k,2587) = lu(k,2587) - lu(k,2188) * lu(k,2565)
         lu(k,2588) = lu(k,2588) - lu(k,2189) * lu(k,2565)
         lu(k,2591) = lu(k,2591) - lu(k,2190) * lu(k,2565)
         lu(k,2592) = lu(k,2592) - lu(k,2191) * lu(k,2565)
         lu(k,2613) = lu(k,2613) - lu(k,2180) * lu(k,2612)
         lu(k,2621) = lu(k,2621) - lu(k,2181) * lu(k,2612)
         lu(k,2623) = lu(k,2623) - lu(k,2182) * lu(k,2612)
         lu(k,2626) = lu(k,2626) - lu(k,2183) * lu(k,2612)
         lu(k,2629) = lu(k,2629) - lu(k,2184) * lu(k,2612)
         lu(k,2630) = lu(k,2630) - lu(k,2185) * lu(k,2612)
         lu(k,2631) = lu(k,2631) - lu(k,2186) * lu(k,2612)
         lu(k,2633) = lu(k,2633) - lu(k,2187) * lu(k,2612)
         lu(k,2634) = lu(k,2634) - lu(k,2188) * lu(k,2612)
         lu(k,2635) = lu(k,2635) - lu(k,2189) * lu(k,2612)
         lu(k,2638) = lu(k,2638) - lu(k,2190) * lu(k,2612)
         lu(k,2639) = lu(k,2639) - lu(k,2191) * lu(k,2612)
         lu(k,2684) = lu(k,2684) - lu(k,2180) * lu(k,2683)
         lu(k,2692) = lu(k,2692) - lu(k,2181) * lu(k,2683)
         lu(k,2694) = lu(k,2694) - lu(k,2182) * lu(k,2683)
         lu(k,2697) = lu(k,2697) - lu(k,2183) * lu(k,2683)
         lu(k,2700) = lu(k,2700) - lu(k,2184) * lu(k,2683)
         lu(k,2701) = lu(k,2701) - lu(k,2185) * lu(k,2683)
         lu(k,2702) = lu(k,2702) - lu(k,2186) * lu(k,2683)
         lu(k,2704) = lu(k,2704) - lu(k,2187) * lu(k,2683)
         lu(k,2705) = lu(k,2705) - lu(k,2188) * lu(k,2683)
         lu(k,2706) = lu(k,2706) - lu(k,2189) * lu(k,2683)
         lu(k,2709) = lu(k,2709) - lu(k,2190) * lu(k,2683)
         lu(k,2710) = lu(k,2710) - lu(k,2191) * lu(k,2683)
         lu(k,2867) = lu(k,2867) - lu(k,2180) * lu(k,2866)
         lu(k,2875) = lu(k,2875) - lu(k,2181) * lu(k,2866)
         lu(k,2877) = lu(k,2877) - lu(k,2182) * lu(k,2866)
         lu(k,2880) = lu(k,2880) - lu(k,2183) * lu(k,2866)
         lu(k,2883) = lu(k,2883) - lu(k,2184) * lu(k,2866)
         lu(k,2884) = lu(k,2884) - lu(k,2185) * lu(k,2866)
         lu(k,2885) = lu(k,2885) - lu(k,2186) * lu(k,2866)
         lu(k,2887) = lu(k,2887) - lu(k,2187) * lu(k,2866)
         lu(k,2889) = lu(k,2889) - lu(k,2188) * lu(k,2866)
         lu(k,2891) = lu(k,2891) - lu(k,2189) * lu(k,2866)
         lu(k,2894) = lu(k,2894) - lu(k,2190) * lu(k,2866)
         lu(k,2895) = lu(k,2895) - lu(k,2191) * lu(k,2866)
         lu(k,2968) = lu(k,2968) - lu(k,2180) * lu(k,2967)
         lu(k,2976) = lu(k,2976) - lu(k,2181) * lu(k,2967)
         lu(k,2978) = lu(k,2978) - lu(k,2182) * lu(k,2967)
         lu(k,2981) = lu(k,2981) - lu(k,2183) * lu(k,2967)
         lu(k,2984) = lu(k,2984) - lu(k,2184) * lu(k,2967)
         lu(k,2985) = lu(k,2985) - lu(k,2185) * lu(k,2967)
         lu(k,2986) = lu(k,2986) - lu(k,2186) * lu(k,2967)
         lu(k,2988) = lu(k,2988) - lu(k,2187) * lu(k,2967)
         lu(k,2990) = lu(k,2990) - lu(k,2188) * lu(k,2967)
         lu(k,2992) = lu(k,2992) - lu(k,2189) * lu(k,2967)
         lu(k,2995) = lu(k,2995) - lu(k,2190) * lu(k,2967)
         lu(k,2996) = lu(k,2996) - lu(k,2191) * lu(k,2967)
         lu(k,3060) = lu(k,3060) - lu(k,2180) * lu(k,3059)
         lu(k,3068) = lu(k,3068) - lu(k,2181) * lu(k,3059)
         lu(k,3070) = lu(k,3070) - lu(k,2182) * lu(k,3059)
         lu(k,3073) = lu(k,3073) - lu(k,2183) * lu(k,3059)
         lu(k,3076) = lu(k,3076) - lu(k,2184) * lu(k,3059)
         lu(k,3077) = lu(k,3077) - lu(k,2185) * lu(k,3059)
         lu(k,3078) = lu(k,3078) - lu(k,2186) * lu(k,3059)
         lu(k,3080) = lu(k,3080) - lu(k,2187) * lu(k,3059)
         lu(k,3082) = lu(k,3082) - lu(k,2188) * lu(k,3059)
         lu(k,3084) = lu(k,3084) - lu(k,2189) * lu(k,3059)
         lu(k,3087) = lu(k,3087) - lu(k,2190) * lu(k,3059)
         lu(k,3088) = lu(k,3088) - lu(k,2191) * lu(k,3059)
         lu(k,3263) = lu(k,3263) - lu(k,2180) * lu(k,3262)
         lu(k,3271) = lu(k,3271) - lu(k,2181) * lu(k,3262)
         lu(k,3273) = lu(k,3273) - lu(k,2182) * lu(k,3262)
         lu(k,3276) = lu(k,3276) - lu(k,2183) * lu(k,3262)
         lu(k,3279) = lu(k,3279) - lu(k,2184) * lu(k,3262)
         lu(k,3280) = lu(k,3280) - lu(k,2185) * lu(k,3262)
         lu(k,3281) = lu(k,3281) - lu(k,2186) * lu(k,3262)
         lu(k,3283) = lu(k,3283) - lu(k,2187) * lu(k,3262)
         lu(k,3285) = lu(k,3285) - lu(k,2188) * lu(k,3262)
         lu(k,3287) = lu(k,3287) - lu(k,2189) * lu(k,3262)
         lu(k,3290) = lu(k,3290) - lu(k,2190) * lu(k,3262)
         lu(k,3291) = lu(k,3291) - lu(k,2191) * lu(k,3262)
         lu(k,3404) = lu(k,3404) - lu(k,2180) * lu(k,3403)
         lu(k,3412) = lu(k,3412) - lu(k,2181) * lu(k,3403)
         lu(k,3414) = lu(k,3414) - lu(k,2182) * lu(k,3403)
         lu(k,3417) = lu(k,3417) - lu(k,2183) * lu(k,3403)
         lu(k,3420) = lu(k,3420) - lu(k,2184) * lu(k,3403)
         lu(k,3421) = lu(k,3421) - lu(k,2185) * lu(k,3403)
         lu(k,3422) = lu(k,3422) - lu(k,2186) * lu(k,3403)
         lu(k,3424) = lu(k,3424) - lu(k,2187) * lu(k,3403)
         lu(k,3426) = lu(k,3426) - lu(k,2188) * lu(k,3403)
         lu(k,3428) = lu(k,3428) - lu(k,2189) * lu(k,3403)
         lu(k,3431) = lu(k,3431) - lu(k,2190) * lu(k,3403)
         lu(k,3432) = lu(k,3432) - lu(k,2191) * lu(k,3403)
         lu(k,3724) = lu(k,3724) - lu(k,2180) * lu(k,3723)
         lu(k,3732) = lu(k,3732) - lu(k,2181) * lu(k,3723)
         lu(k,3734) = lu(k,3734) - lu(k,2182) * lu(k,3723)
         lu(k,3737) = lu(k,3737) - lu(k,2183) * lu(k,3723)
         lu(k,3740) = lu(k,3740) - lu(k,2184) * lu(k,3723)
         lu(k,3741) = lu(k,3741) - lu(k,2185) * lu(k,3723)
         lu(k,3742) = lu(k,3742) - lu(k,2186) * lu(k,3723)
         lu(k,3744) = lu(k,3744) - lu(k,2187) * lu(k,3723)
         lu(k,3746) = lu(k,3746) - lu(k,2188) * lu(k,3723)
         lu(k,3748) = lu(k,3748) - lu(k,2189) * lu(k,3723)
         lu(k,3751) = lu(k,3751) - lu(k,2190) * lu(k,3723)
         lu(k,3752) = lu(k,3752) - lu(k,2191) * lu(k,3723)
         lu(k,2193) = 1._r8 / lu(k,2193)
         lu(k,2194) = lu(k,2194) * lu(k,2193)
         lu(k,2195) = lu(k,2195) * lu(k,2193)
         lu(k,2196) = lu(k,2196) * lu(k,2193)
         lu(k,2197) = lu(k,2197) * lu(k,2193)
         lu(k,2198) = lu(k,2198) * lu(k,2193)
         lu(k,2199) = lu(k,2199) * lu(k,2193)
         lu(k,2200) = lu(k,2200) * lu(k,2193)
         lu(k,2201) = lu(k,2201) * lu(k,2193)
         lu(k,2216) = lu(k,2216) - lu(k,2194) * lu(k,2213)
         lu(k,2218) = lu(k,2218) - lu(k,2195) * lu(k,2213)
         lu(k,2221) = lu(k,2221) - lu(k,2196) * lu(k,2213)
         lu(k,2223) = lu(k,2223) - lu(k,2197) * lu(k,2213)
         lu(k,2224) = lu(k,2224) - lu(k,2198) * lu(k,2213)
         lu(k,2226) = lu(k,2226) - lu(k,2199) * lu(k,2213)
         lu(k,2227) = lu(k,2227) - lu(k,2200) * lu(k,2213)
         lu(k,2231) = lu(k,2231) - lu(k,2201) * lu(k,2213)
         lu(k,2245) = lu(k,2245) - lu(k,2194) * lu(k,2242)
         lu(k,2247) = lu(k,2247) - lu(k,2195) * lu(k,2242)
         lu(k,2250) = lu(k,2250) - lu(k,2196) * lu(k,2242)
         lu(k,2252) = lu(k,2252) - lu(k,2197) * lu(k,2242)
         lu(k,2253) = lu(k,2253) - lu(k,2198) * lu(k,2242)
         lu(k,2255) = lu(k,2255) - lu(k,2199) * lu(k,2242)
         lu(k,2256) = lu(k,2256) - lu(k,2200) * lu(k,2242)
         lu(k,2260) = lu(k,2260) - lu(k,2201) * lu(k,2242)
         lu(k,2274) = lu(k,2274) - lu(k,2194) * lu(k,2270)
         lu(k,2276) = lu(k,2276) - lu(k,2195) * lu(k,2270)
         lu(k,2279) = lu(k,2279) - lu(k,2196) * lu(k,2270)
         lu(k,2281) = lu(k,2281) - lu(k,2197) * lu(k,2270)
         lu(k,2282) = lu(k,2282) - lu(k,2198) * lu(k,2270)
         lu(k,2284) = lu(k,2284) - lu(k,2199) * lu(k,2270)
         lu(k,2285) = lu(k,2285) - lu(k,2200) * lu(k,2270)
         lu(k,2289) = lu(k,2289) - lu(k,2201) * lu(k,2270)
         lu(k,2306) = lu(k,2306) - lu(k,2194) * lu(k,2302)
         lu(k,2308) = lu(k,2308) - lu(k,2195) * lu(k,2302)
         lu(k,2311) = lu(k,2311) - lu(k,2196) * lu(k,2302)
         lu(k,2313) = lu(k,2313) - lu(k,2197) * lu(k,2302)
         lu(k,2314) = - lu(k,2198) * lu(k,2302)
         lu(k,2316) = lu(k,2316) - lu(k,2199) * lu(k,2302)
         lu(k,2317) = lu(k,2317) - lu(k,2200) * lu(k,2302)
         lu(k,2321) = lu(k,2321) - lu(k,2201) * lu(k,2302)
         lu(k,2333) = lu(k,2333) - lu(k,2194) * lu(k,2331)
         lu(k,2335) = lu(k,2335) - lu(k,2195) * lu(k,2331)
         lu(k,2338) = lu(k,2338) - lu(k,2196) * lu(k,2331)
         lu(k,2340) = lu(k,2340) - lu(k,2197) * lu(k,2331)
         lu(k,2341) = lu(k,2341) - lu(k,2198) * lu(k,2331)
         lu(k,2343) = lu(k,2343) - lu(k,2199) * lu(k,2331)
         lu(k,2344) = lu(k,2344) - lu(k,2200) * lu(k,2331)
         lu(k,2348) = lu(k,2348) - lu(k,2201) * lu(k,2331)
         lu(k,2367) = lu(k,2367) - lu(k,2194) * lu(k,2362)
         lu(k,2369) = lu(k,2369) - lu(k,2195) * lu(k,2362)
         lu(k,2372) = lu(k,2372) - lu(k,2196) * lu(k,2362)
         lu(k,2374) = lu(k,2374) - lu(k,2197) * lu(k,2362)
         lu(k,2375) = lu(k,2375) - lu(k,2198) * lu(k,2362)
         lu(k,2377) = lu(k,2377) - lu(k,2199) * lu(k,2362)
         lu(k,2378) = lu(k,2378) - lu(k,2200) * lu(k,2362)
         lu(k,2382) = lu(k,2382) - lu(k,2201) * lu(k,2362)
         lu(k,2394) = - lu(k,2194) * lu(k,2391)
         lu(k,2396) = - lu(k,2195) * lu(k,2391)
         lu(k,2398) = - lu(k,2196) * lu(k,2391)
         lu(k,2399) = lu(k,2399) - lu(k,2197) * lu(k,2391)
         lu(k,2400) = lu(k,2400) - lu(k,2198) * lu(k,2391)
         lu(k,2403) = lu(k,2403) - lu(k,2199) * lu(k,2391)
         lu(k,2404) = lu(k,2404) - lu(k,2200) * lu(k,2391)
         lu(k,2408) = lu(k,2408) - lu(k,2201) * lu(k,2391)
         lu(k,2421) = - lu(k,2194) * lu(k,2419)
         lu(k,2423) = - lu(k,2195) * lu(k,2419)
         lu(k,2425) = - lu(k,2196) * lu(k,2419)
         lu(k,2426) = lu(k,2426) - lu(k,2197) * lu(k,2419)
         lu(k,2427) = lu(k,2427) - lu(k,2198) * lu(k,2419)
         lu(k,2430) = lu(k,2430) - lu(k,2199) * lu(k,2419)
         lu(k,2431) = lu(k,2431) - lu(k,2200) * lu(k,2419)
         lu(k,2435) = lu(k,2435) - lu(k,2201) * lu(k,2419)
         lu(k,2445) = lu(k,2445) - lu(k,2194) * lu(k,2444)
         lu(k,2447) = lu(k,2447) - lu(k,2195) * lu(k,2444)
         lu(k,2450) = lu(k,2450) - lu(k,2196) * lu(k,2444)
         lu(k,2452) = lu(k,2452) - lu(k,2197) * lu(k,2444)
         lu(k,2453) = lu(k,2453) - lu(k,2198) * lu(k,2444)
         lu(k,2455) = lu(k,2455) - lu(k,2199) * lu(k,2444)
         lu(k,2456) = lu(k,2456) - lu(k,2200) * lu(k,2444)
         lu(k,2460) = lu(k,2460) - lu(k,2201) * lu(k,2444)
         lu(k,2466) = lu(k,2466) - lu(k,2194) * lu(k,2465)
         lu(k,2468) = lu(k,2468) - lu(k,2195) * lu(k,2465)
         lu(k,2471) = lu(k,2471) - lu(k,2196) * lu(k,2465)
         lu(k,2473) = lu(k,2473) - lu(k,2197) * lu(k,2465)
         lu(k,2474) = lu(k,2474) - lu(k,2198) * lu(k,2465)
         lu(k,2476) = lu(k,2476) - lu(k,2199) * lu(k,2465)
         lu(k,2477) = lu(k,2477) - lu(k,2200) * lu(k,2465)
         lu(k,2481) = lu(k,2481) - lu(k,2201) * lu(k,2465)
         lu(k,2487) = lu(k,2487) - lu(k,2194) * lu(k,2486)
         lu(k,2489) = lu(k,2489) - lu(k,2195) * lu(k,2486)
         lu(k,2492) = lu(k,2492) - lu(k,2196) * lu(k,2486)
         lu(k,2494) = lu(k,2494) - lu(k,2197) * lu(k,2486)
         lu(k,2495) = lu(k,2495) - lu(k,2198) * lu(k,2486)
         lu(k,2497) = lu(k,2497) - lu(k,2199) * lu(k,2486)
         lu(k,2498) = lu(k,2498) - lu(k,2200) * lu(k,2486)
         lu(k,2502) = lu(k,2502) - lu(k,2201) * lu(k,2486)
         lu(k,2529) = lu(k,2529) - lu(k,2194) * lu(k,2520)
         lu(k,2531) = lu(k,2531) - lu(k,2195) * lu(k,2520)
         lu(k,2534) = lu(k,2534) - lu(k,2196) * lu(k,2520)
         lu(k,2536) = lu(k,2536) - lu(k,2197) * lu(k,2520)
         lu(k,2537) = lu(k,2537) - lu(k,2198) * lu(k,2520)
         lu(k,2540) = lu(k,2540) - lu(k,2199) * lu(k,2520)
         lu(k,2541) = lu(k,2541) - lu(k,2200) * lu(k,2520)
         lu(k,2546) = lu(k,2546) - lu(k,2201) * lu(k,2520)
         lu(k,2575) = lu(k,2575) - lu(k,2194) * lu(k,2566)
         lu(k,2577) = lu(k,2577) - lu(k,2195) * lu(k,2566)
         lu(k,2580) = lu(k,2580) - lu(k,2196) * lu(k,2566)
         lu(k,2582) = lu(k,2582) - lu(k,2197) * lu(k,2566)
         lu(k,2583) = lu(k,2583) - lu(k,2198) * lu(k,2566)
         lu(k,2586) = lu(k,2586) - lu(k,2199) * lu(k,2566)
         lu(k,2587) = lu(k,2587) - lu(k,2200) * lu(k,2566)
         lu(k,2592) = lu(k,2592) - lu(k,2201) * lu(k,2566)
         lu(k,2622) = lu(k,2622) - lu(k,2194) * lu(k,2613)
         lu(k,2624) = lu(k,2624) - lu(k,2195) * lu(k,2613)
         lu(k,2627) = lu(k,2627) - lu(k,2196) * lu(k,2613)
         lu(k,2629) = lu(k,2629) - lu(k,2197) * lu(k,2613)
         lu(k,2630) = lu(k,2630) - lu(k,2198) * lu(k,2613)
         lu(k,2633) = lu(k,2633) - lu(k,2199) * lu(k,2613)
         lu(k,2634) = lu(k,2634) - lu(k,2200) * lu(k,2613)
         lu(k,2639) = lu(k,2639) - lu(k,2201) * lu(k,2613)
         lu(k,2693) = lu(k,2693) - lu(k,2194) * lu(k,2684)
         lu(k,2695) = lu(k,2695) - lu(k,2195) * lu(k,2684)
         lu(k,2698) = lu(k,2698) - lu(k,2196) * lu(k,2684)
         lu(k,2700) = lu(k,2700) - lu(k,2197) * lu(k,2684)
         lu(k,2701) = lu(k,2701) - lu(k,2198) * lu(k,2684)
         lu(k,2704) = lu(k,2704) - lu(k,2199) * lu(k,2684)
         lu(k,2705) = lu(k,2705) - lu(k,2200) * lu(k,2684)
         lu(k,2710) = lu(k,2710) - lu(k,2201) * lu(k,2684)
         lu(k,2876) = lu(k,2876) - lu(k,2194) * lu(k,2867)
         lu(k,2878) = lu(k,2878) - lu(k,2195) * lu(k,2867)
         lu(k,2881) = lu(k,2881) - lu(k,2196) * lu(k,2867)
         lu(k,2883) = lu(k,2883) - lu(k,2197) * lu(k,2867)
         lu(k,2884) = lu(k,2884) - lu(k,2198) * lu(k,2867)
         lu(k,2887) = lu(k,2887) - lu(k,2199) * lu(k,2867)
         lu(k,2889) = lu(k,2889) - lu(k,2200) * lu(k,2867)
         lu(k,2895) = lu(k,2895) - lu(k,2201) * lu(k,2867)
         lu(k,2977) = lu(k,2977) - lu(k,2194) * lu(k,2968)
         lu(k,2979) = lu(k,2979) - lu(k,2195) * lu(k,2968)
         lu(k,2982) = lu(k,2982) - lu(k,2196) * lu(k,2968)
         lu(k,2984) = lu(k,2984) - lu(k,2197) * lu(k,2968)
         lu(k,2985) = lu(k,2985) - lu(k,2198) * lu(k,2968)
         lu(k,2988) = lu(k,2988) - lu(k,2199) * lu(k,2968)
         lu(k,2990) = lu(k,2990) - lu(k,2200) * lu(k,2968)
         lu(k,2996) = lu(k,2996) - lu(k,2201) * lu(k,2968)
         lu(k,3069) = lu(k,3069) - lu(k,2194) * lu(k,3060)
         lu(k,3071) = lu(k,3071) - lu(k,2195) * lu(k,3060)
         lu(k,3074) = lu(k,3074) - lu(k,2196) * lu(k,3060)
         lu(k,3076) = lu(k,3076) - lu(k,2197) * lu(k,3060)
         lu(k,3077) = lu(k,3077) - lu(k,2198) * lu(k,3060)
         lu(k,3080) = lu(k,3080) - lu(k,2199) * lu(k,3060)
         lu(k,3082) = lu(k,3082) - lu(k,2200) * lu(k,3060)
         lu(k,3088) = lu(k,3088) - lu(k,2201) * lu(k,3060)
         lu(k,3272) = lu(k,3272) - lu(k,2194) * lu(k,3263)
         lu(k,3274) = lu(k,3274) - lu(k,2195) * lu(k,3263)
         lu(k,3277) = lu(k,3277) - lu(k,2196) * lu(k,3263)
         lu(k,3279) = lu(k,3279) - lu(k,2197) * lu(k,3263)
         lu(k,3280) = lu(k,3280) - lu(k,2198) * lu(k,3263)
         lu(k,3283) = lu(k,3283) - lu(k,2199) * lu(k,3263)
         lu(k,3285) = lu(k,3285) - lu(k,2200) * lu(k,3263)
         lu(k,3291) = lu(k,3291) - lu(k,2201) * lu(k,3263)
         lu(k,3413) = lu(k,3413) - lu(k,2194) * lu(k,3404)
         lu(k,3415) = lu(k,3415) - lu(k,2195) * lu(k,3404)
         lu(k,3418) = lu(k,3418) - lu(k,2196) * lu(k,3404)
         lu(k,3420) = lu(k,3420) - lu(k,2197) * lu(k,3404)
         lu(k,3421) = lu(k,3421) - lu(k,2198) * lu(k,3404)
         lu(k,3424) = lu(k,3424) - lu(k,2199) * lu(k,3404)
         lu(k,3426) = lu(k,3426) - lu(k,2200) * lu(k,3404)
         lu(k,3432) = lu(k,3432) - lu(k,2201) * lu(k,3404)
         lu(k,3733) = lu(k,3733) - lu(k,2194) * lu(k,3724)
         lu(k,3735) = lu(k,3735) - lu(k,2195) * lu(k,3724)
         lu(k,3738) = lu(k,3738) - lu(k,2196) * lu(k,3724)
         lu(k,3740) = lu(k,3740) - lu(k,2197) * lu(k,3724)
         lu(k,3741) = lu(k,3741) - lu(k,2198) * lu(k,3724)
         lu(k,3744) = lu(k,3744) - lu(k,2199) * lu(k,3724)
         lu(k,3746) = lu(k,3746) - lu(k,2200) * lu(k,3724)
         lu(k,3752) = lu(k,3752) - lu(k,2201) * lu(k,3724)
      end do
      end subroutine lu_fac43
      subroutine lu_fac44( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,2214) = 1._r8 / lu(k,2214)
         lu(k,2215) = lu(k,2215) * lu(k,2214)
         lu(k,2216) = lu(k,2216) * lu(k,2214)
         lu(k,2217) = lu(k,2217) * lu(k,2214)
         lu(k,2218) = lu(k,2218) * lu(k,2214)
         lu(k,2219) = lu(k,2219) * lu(k,2214)
         lu(k,2220) = lu(k,2220) * lu(k,2214)
         lu(k,2221) = lu(k,2221) * lu(k,2214)
         lu(k,2222) = lu(k,2222) * lu(k,2214)
         lu(k,2223) = lu(k,2223) * lu(k,2214)
         lu(k,2224) = lu(k,2224) * lu(k,2214)
         lu(k,2225) = lu(k,2225) * lu(k,2214)
         lu(k,2226) = lu(k,2226) * lu(k,2214)
         lu(k,2227) = lu(k,2227) * lu(k,2214)
         lu(k,2228) = lu(k,2228) * lu(k,2214)
         lu(k,2229) = lu(k,2229) * lu(k,2214)
         lu(k,2230) = lu(k,2230) * lu(k,2214)
         lu(k,2231) = lu(k,2231) * lu(k,2214)
         lu(k,2232) = lu(k,2232) * lu(k,2214)
         lu(k,2528) = lu(k,2528) - lu(k,2215) * lu(k,2521)
         lu(k,2529) = lu(k,2529) - lu(k,2216) * lu(k,2521)
         lu(k,2530) = lu(k,2530) - lu(k,2217) * lu(k,2521)
         lu(k,2531) = lu(k,2531) - lu(k,2218) * lu(k,2521)
         lu(k,2532) = lu(k,2532) - lu(k,2219) * lu(k,2521)
         lu(k,2533) = lu(k,2533) - lu(k,2220) * lu(k,2521)
         lu(k,2534) = lu(k,2534) - lu(k,2221) * lu(k,2521)
         lu(k,2535) = lu(k,2535) - lu(k,2222) * lu(k,2521)
         lu(k,2536) = lu(k,2536) - lu(k,2223) * lu(k,2521)
         lu(k,2537) = lu(k,2537) - lu(k,2224) * lu(k,2521)
         lu(k,2538) = lu(k,2538) - lu(k,2225) * lu(k,2521)
         lu(k,2540) = lu(k,2540) - lu(k,2226) * lu(k,2521)
         lu(k,2541) = lu(k,2541) - lu(k,2227) * lu(k,2521)
         lu(k,2542) = lu(k,2542) - lu(k,2228) * lu(k,2521)
         lu(k,2543) = lu(k,2543) - lu(k,2229) * lu(k,2521)
         lu(k,2545) = lu(k,2545) - lu(k,2230) * lu(k,2521)
         lu(k,2546) = lu(k,2546) - lu(k,2231) * lu(k,2521)
         lu(k,2549) = lu(k,2549) - lu(k,2232) * lu(k,2521)
         lu(k,2574) = lu(k,2574) - lu(k,2215) * lu(k,2567)
         lu(k,2575) = lu(k,2575) - lu(k,2216) * lu(k,2567)
         lu(k,2576) = lu(k,2576) - lu(k,2217) * lu(k,2567)
         lu(k,2577) = lu(k,2577) - lu(k,2218) * lu(k,2567)
         lu(k,2578) = lu(k,2578) - lu(k,2219) * lu(k,2567)
         lu(k,2579) = lu(k,2579) - lu(k,2220) * lu(k,2567)
         lu(k,2580) = lu(k,2580) - lu(k,2221) * lu(k,2567)
         lu(k,2581) = lu(k,2581) - lu(k,2222) * lu(k,2567)
         lu(k,2582) = lu(k,2582) - lu(k,2223) * lu(k,2567)
         lu(k,2583) = lu(k,2583) - lu(k,2224) * lu(k,2567)
         lu(k,2584) = lu(k,2584) - lu(k,2225) * lu(k,2567)
         lu(k,2586) = lu(k,2586) - lu(k,2226) * lu(k,2567)
         lu(k,2587) = lu(k,2587) - lu(k,2227) * lu(k,2567)
         lu(k,2588) = lu(k,2588) - lu(k,2228) * lu(k,2567)
         lu(k,2589) = lu(k,2589) - lu(k,2229) * lu(k,2567)
         lu(k,2591) = lu(k,2591) - lu(k,2230) * lu(k,2567)
         lu(k,2592) = lu(k,2592) - lu(k,2231) * lu(k,2567)
         lu(k,2595) = lu(k,2595) - lu(k,2232) * lu(k,2567)
         lu(k,2621) = lu(k,2621) - lu(k,2215) * lu(k,2614)
         lu(k,2622) = lu(k,2622) - lu(k,2216) * lu(k,2614)
         lu(k,2623) = lu(k,2623) - lu(k,2217) * lu(k,2614)
         lu(k,2624) = lu(k,2624) - lu(k,2218) * lu(k,2614)
         lu(k,2625) = lu(k,2625) - lu(k,2219) * lu(k,2614)
         lu(k,2626) = lu(k,2626) - lu(k,2220) * lu(k,2614)
         lu(k,2627) = lu(k,2627) - lu(k,2221) * lu(k,2614)
         lu(k,2628) = lu(k,2628) - lu(k,2222) * lu(k,2614)
         lu(k,2629) = lu(k,2629) - lu(k,2223) * lu(k,2614)
         lu(k,2630) = lu(k,2630) - lu(k,2224) * lu(k,2614)
         lu(k,2631) = lu(k,2631) - lu(k,2225) * lu(k,2614)
         lu(k,2633) = lu(k,2633) - lu(k,2226) * lu(k,2614)
         lu(k,2634) = lu(k,2634) - lu(k,2227) * lu(k,2614)
         lu(k,2635) = lu(k,2635) - lu(k,2228) * lu(k,2614)
         lu(k,2636) = lu(k,2636) - lu(k,2229) * lu(k,2614)
         lu(k,2638) = lu(k,2638) - lu(k,2230) * lu(k,2614)
         lu(k,2639) = lu(k,2639) - lu(k,2231) * lu(k,2614)
         lu(k,2642) = lu(k,2642) - lu(k,2232) * lu(k,2614)
         lu(k,2692) = lu(k,2692) - lu(k,2215) * lu(k,2685)
         lu(k,2693) = lu(k,2693) - lu(k,2216) * lu(k,2685)
         lu(k,2694) = lu(k,2694) - lu(k,2217) * lu(k,2685)
         lu(k,2695) = lu(k,2695) - lu(k,2218) * lu(k,2685)
         lu(k,2696) = lu(k,2696) - lu(k,2219) * lu(k,2685)
         lu(k,2697) = lu(k,2697) - lu(k,2220) * lu(k,2685)
         lu(k,2698) = lu(k,2698) - lu(k,2221) * lu(k,2685)
         lu(k,2699) = lu(k,2699) - lu(k,2222) * lu(k,2685)
         lu(k,2700) = lu(k,2700) - lu(k,2223) * lu(k,2685)
         lu(k,2701) = lu(k,2701) - lu(k,2224) * lu(k,2685)
         lu(k,2702) = lu(k,2702) - lu(k,2225) * lu(k,2685)
         lu(k,2704) = lu(k,2704) - lu(k,2226) * lu(k,2685)
         lu(k,2705) = lu(k,2705) - lu(k,2227) * lu(k,2685)
         lu(k,2706) = lu(k,2706) - lu(k,2228) * lu(k,2685)
         lu(k,2707) = lu(k,2707) - lu(k,2229) * lu(k,2685)
         lu(k,2709) = lu(k,2709) - lu(k,2230) * lu(k,2685)
         lu(k,2710) = lu(k,2710) - lu(k,2231) * lu(k,2685)
         lu(k,2713) = lu(k,2713) - lu(k,2232) * lu(k,2685)
         lu(k,2875) = lu(k,2875) - lu(k,2215) * lu(k,2868)
         lu(k,2876) = lu(k,2876) - lu(k,2216) * lu(k,2868)
         lu(k,2877) = lu(k,2877) - lu(k,2217) * lu(k,2868)
         lu(k,2878) = lu(k,2878) - lu(k,2218) * lu(k,2868)
         lu(k,2879) = lu(k,2879) - lu(k,2219) * lu(k,2868)
         lu(k,2880) = lu(k,2880) - lu(k,2220) * lu(k,2868)
         lu(k,2881) = lu(k,2881) - lu(k,2221) * lu(k,2868)
         lu(k,2882) = lu(k,2882) - lu(k,2222) * lu(k,2868)
         lu(k,2883) = lu(k,2883) - lu(k,2223) * lu(k,2868)
         lu(k,2884) = lu(k,2884) - lu(k,2224) * lu(k,2868)
         lu(k,2885) = lu(k,2885) - lu(k,2225) * lu(k,2868)
         lu(k,2887) = lu(k,2887) - lu(k,2226) * lu(k,2868)
         lu(k,2889) = lu(k,2889) - lu(k,2227) * lu(k,2868)
         lu(k,2891) = lu(k,2891) - lu(k,2228) * lu(k,2868)
         lu(k,2892) = lu(k,2892) - lu(k,2229) * lu(k,2868)
         lu(k,2894) = lu(k,2894) - lu(k,2230) * lu(k,2868)
         lu(k,2895) = lu(k,2895) - lu(k,2231) * lu(k,2868)
         lu(k,2899) = lu(k,2899) - lu(k,2232) * lu(k,2868)
         lu(k,2976) = lu(k,2976) - lu(k,2215) * lu(k,2969)
         lu(k,2977) = lu(k,2977) - lu(k,2216) * lu(k,2969)
         lu(k,2978) = lu(k,2978) - lu(k,2217) * lu(k,2969)
         lu(k,2979) = lu(k,2979) - lu(k,2218) * lu(k,2969)
         lu(k,2980) = lu(k,2980) - lu(k,2219) * lu(k,2969)
         lu(k,2981) = lu(k,2981) - lu(k,2220) * lu(k,2969)
         lu(k,2982) = lu(k,2982) - lu(k,2221) * lu(k,2969)
         lu(k,2983) = lu(k,2983) - lu(k,2222) * lu(k,2969)
         lu(k,2984) = lu(k,2984) - lu(k,2223) * lu(k,2969)
         lu(k,2985) = lu(k,2985) - lu(k,2224) * lu(k,2969)
         lu(k,2986) = lu(k,2986) - lu(k,2225) * lu(k,2969)
         lu(k,2988) = lu(k,2988) - lu(k,2226) * lu(k,2969)
         lu(k,2990) = lu(k,2990) - lu(k,2227) * lu(k,2969)
         lu(k,2992) = lu(k,2992) - lu(k,2228) * lu(k,2969)
         lu(k,2993) = lu(k,2993) - lu(k,2229) * lu(k,2969)
         lu(k,2995) = lu(k,2995) - lu(k,2230) * lu(k,2969)
         lu(k,2996) = lu(k,2996) - lu(k,2231) * lu(k,2969)
         lu(k,3000) = lu(k,3000) - lu(k,2232) * lu(k,2969)
         lu(k,3068) = lu(k,3068) - lu(k,2215) * lu(k,3061)
         lu(k,3069) = lu(k,3069) - lu(k,2216) * lu(k,3061)
         lu(k,3070) = lu(k,3070) - lu(k,2217) * lu(k,3061)
         lu(k,3071) = lu(k,3071) - lu(k,2218) * lu(k,3061)
         lu(k,3072) = lu(k,3072) - lu(k,2219) * lu(k,3061)
         lu(k,3073) = lu(k,3073) - lu(k,2220) * lu(k,3061)
         lu(k,3074) = lu(k,3074) - lu(k,2221) * lu(k,3061)
         lu(k,3075) = lu(k,3075) - lu(k,2222) * lu(k,3061)
         lu(k,3076) = lu(k,3076) - lu(k,2223) * lu(k,3061)
         lu(k,3077) = lu(k,3077) - lu(k,2224) * lu(k,3061)
         lu(k,3078) = lu(k,3078) - lu(k,2225) * lu(k,3061)
         lu(k,3080) = lu(k,3080) - lu(k,2226) * lu(k,3061)
         lu(k,3082) = lu(k,3082) - lu(k,2227) * lu(k,3061)
         lu(k,3084) = lu(k,3084) - lu(k,2228) * lu(k,3061)
         lu(k,3085) = lu(k,3085) - lu(k,2229) * lu(k,3061)
         lu(k,3087) = lu(k,3087) - lu(k,2230) * lu(k,3061)
         lu(k,3088) = lu(k,3088) - lu(k,2231) * lu(k,3061)
         lu(k,3092) = lu(k,3092) - lu(k,2232) * lu(k,3061)
         lu(k,3271) = lu(k,3271) - lu(k,2215) * lu(k,3264)
         lu(k,3272) = lu(k,3272) - lu(k,2216) * lu(k,3264)
         lu(k,3273) = lu(k,3273) - lu(k,2217) * lu(k,3264)
         lu(k,3274) = lu(k,3274) - lu(k,2218) * lu(k,3264)
         lu(k,3275) = lu(k,3275) - lu(k,2219) * lu(k,3264)
         lu(k,3276) = lu(k,3276) - lu(k,2220) * lu(k,3264)
         lu(k,3277) = lu(k,3277) - lu(k,2221) * lu(k,3264)
         lu(k,3278) = lu(k,3278) - lu(k,2222) * lu(k,3264)
         lu(k,3279) = lu(k,3279) - lu(k,2223) * lu(k,3264)
         lu(k,3280) = lu(k,3280) - lu(k,2224) * lu(k,3264)
         lu(k,3281) = lu(k,3281) - lu(k,2225) * lu(k,3264)
         lu(k,3283) = lu(k,3283) - lu(k,2226) * lu(k,3264)
         lu(k,3285) = lu(k,3285) - lu(k,2227) * lu(k,3264)
         lu(k,3287) = lu(k,3287) - lu(k,2228) * lu(k,3264)
         lu(k,3288) = lu(k,3288) - lu(k,2229) * lu(k,3264)
         lu(k,3290) = lu(k,3290) - lu(k,2230) * lu(k,3264)
         lu(k,3291) = lu(k,3291) - lu(k,2231) * lu(k,3264)
         lu(k,3295) = lu(k,3295) - lu(k,2232) * lu(k,3264)
         lu(k,3412) = lu(k,3412) - lu(k,2215) * lu(k,3405)
         lu(k,3413) = lu(k,3413) - lu(k,2216) * lu(k,3405)
         lu(k,3414) = lu(k,3414) - lu(k,2217) * lu(k,3405)
         lu(k,3415) = lu(k,3415) - lu(k,2218) * lu(k,3405)
         lu(k,3416) = lu(k,3416) - lu(k,2219) * lu(k,3405)
         lu(k,3417) = lu(k,3417) - lu(k,2220) * lu(k,3405)
         lu(k,3418) = lu(k,3418) - lu(k,2221) * lu(k,3405)
         lu(k,3419) = lu(k,3419) - lu(k,2222) * lu(k,3405)
         lu(k,3420) = lu(k,3420) - lu(k,2223) * lu(k,3405)
         lu(k,3421) = lu(k,3421) - lu(k,2224) * lu(k,3405)
         lu(k,3422) = lu(k,3422) - lu(k,2225) * lu(k,3405)
         lu(k,3424) = lu(k,3424) - lu(k,2226) * lu(k,3405)
         lu(k,3426) = lu(k,3426) - lu(k,2227) * lu(k,3405)
         lu(k,3428) = lu(k,3428) - lu(k,2228) * lu(k,3405)
         lu(k,3429) = lu(k,3429) - lu(k,2229) * lu(k,3405)
         lu(k,3431) = lu(k,3431) - lu(k,2230) * lu(k,3405)
         lu(k,3432) = lu(k,3432) - lu(k,2231) * lu(k,3405)
         lu(k,3436) = lu(k,3436) - lu(k,2232) * lu(k,3405)
         lu(k,3732) = lu(k,3732) - lu(k,2215) * lu(k,3725)
         lu(k,3733) = lu(k,3733) - lu(k,2216) * lu(k,3725)
         lu(k,3734) = lu(k,3734) - lu(k,2217) * lu(k,3725)
         lu(k,3735) = lu(k,3735) - lu(k,2218) * lu(k,3725)
         lu(k,3736) = lu(k,3736) - lu(k,2219) * lu(k,3725)
         lu(k,3737) = lu(k,3737) - lu(k,2220) * lu(k,3725)
         lu(k,3738) = lu(k,3738) - lu(k,2221) * lu(k,3725)
         lu(k,3739) = lu(k,3739) - lu(k,2222) * lu(k,3725)
         lu(k,3740) = lu(k,3740) - lu(k,2223) * lu(k,3725)
         lu(k,3741) = lu(k,3741) - lu(k,2224) * lu(k,3725)
         lu(k,3742) = lu(k,3742) - lu(k,2225) * lu(k,3725)
         lu(k,3744) = lu(k,3744) - lu(k,2226) * lu(k,3725)
         lu(k,3746) = lu(k,3746) - lu(k,2227) * lu(k,3725)
         lu(k,3748) = lu(k,3748) - lu(k,2228) * lu(k,3725)
         lu(k,3749) = lu(k,3749) - lu(k,2229) * lu(k,3725)
         lu(k,3751) = lu(k,3751) - lu(k,2230) * lu(k,3725)
         lu(k,3752) = lu(k,3752) - lu(k,2231) * lu(k,3725)
         lu(k,3756) = lu(k,3756) - lu(k,2232) * lu(k,3725)
         lu(k,2243) = 1._r8 / lu(k,2243)
         lu(k,2244) = lu(k,2244) * lu(k,2243)
         lu(k,2245) = lu(k,2245) * lu(k,2243)
         lu(k,2246) = lu(k,2246) * lu(k,2243)
         lu(k,2247) = lu(k,2247) * lu(k,2243)
         lu(k,2248) = lu(k,2248) * lu(k,2243)
         lu(k,2249) = lu(k,2249) * lu(k,2243)
         lu(k,2250) = lu(k,2250) * lu(k,2243)
         lu(k,2251) = lu(k,2251) * lu(k,2243)
         lu(k,2252) = lu(k,2252) * lu(k,2243)
         lu(k,2253) = lu(k,2253) * lu(k,2243)
         lu(k,2254) = lu(k,2254) * lu(k,2243)
         lu(k,2255) = lu(k,2255) * lu(k,2243)
         lu(k,2256) = lu(k,2256) * lu(k,2243)
         lu(k,2257) = lu(k,2257) * lu(k,2243)
         lu(k,2258) = lu(k,2258) * lu(k,2243)
         lu(k,2259) = lu(k,2259) * lu(k,2243)
         lu(k,2260) = lu(k,2260) * lu(k,2243)
         lu(k,2261) = lu(k,2261) * lu(k,2243)
         lu(k,2528) = lu(k,2528) - lu(k,2244) * lu(k,2522)
         lu(k,2529) = lu(k,2529) - lu(k,2245) * lu(k,2522)
         lu(k,2530) = lu(k,2530) - lu(k,2246) * lu(k,2522)
         lu(k,2531) = lu(k,2531) - lu(k,2247) * lu(k,2522)
         lu(k,2532) = lu(k,2532) - lu(k,2248) * lu(k,2522)
         lu(k,2533) = lu(k,2533) - lu(k,2249) * lu(k,2522)
         lu(k,2534) = lu(k,2534) - lu(k,2250) * lu(k,2522)
         lu(k,2535) = lu(k,2535) - lu(k,2251) * lu(k,2522)
         lu(k,2536) = lu(k,2536) - lu(k,2252) * lu(k,2522)
         lu(k,2537) = lu(k,2537) - lu(k,2253) * lu(k,2522)
         lu(k,2538) = lu(k,2538) - lu(k,2254) * lu(k,2522)
         lu(k,2540) = lu(k,2540) - lu(k,2255) * lu(k,2522)
         lu(k,2541) = lu(k,2541) - lu(k,2256) * lu(k,2522)
         lu(k,2542) = lu(k,2542) - lu(k,2257) * lu(k,2522)
         lu(k,2543) = lu(k,2543) - lu(k,2258) * lu(k,2522)
         lu(k,2545) = lu(k,2545) - lu(k,2259) * lu(k,2522)
         lu(k,2546) = lu(k,2546) - lu(k,2260) * lu(k,2522)
         lu(k,2549) = lu(k,2549) - lu(k,2261) * lu(k,2522)
         lu(k,2574) = lu(k,2574) - lu(k,2244) * lu(k,2568)
         lu(k,2575) = lu(k,2575) - lu(k,2245) * lu(k,2568)
         lu(k,2576) = lu(k,2576) - lu(k,2246) * lu(k,2568)
         lu(k,2577) = lu(k,2577) - lu(k,2247) * lu(k,2568)
         lu(k,2578) = lu(k,2578) - lu(k,2248) * lu(k,2568)
         lu(k,2579) = lu(k,2579) - lu(k,2249) * lu(k,2568)
         lu(k,2580) = lu(k,2580) - lu(k,2250) * lu(k,2568)
         lu(k,2581) = lu(k,2581) - lu(k,2251) * lu(k,2568)
         lu(k,2582) = lu(k,2582) - lu(k,2252) * lu(k,2568)
         lu(k,2583) = lu(k,2583) - lu(k,2253) * lu(k,2568)
         lu(k,2584) = lu(k,2584) - lu(k,2254) * lu(k,2568)
         lu(k,2586) = lu(k,2586) - lu(k,2255) * lu(k,2568)
         lu(k,2587) = lu(k,2587) - lu(k,2256) * lu(k,2568)
         lu(k,2588) = lu(k,2588) - lu(k,2257) * lu(k,2568)
         lu(k,2589) = lu(k,2589) - lu(k,2258) * lu(k,2568)
         lu(k,2591) = lu(k,2591) - lu(k,2259) * lu(k,2568)
         lu(k,2592) = lu(k,2592) - lu(k,2260) * lu(k,2568)
         lu(k,2595) = lu(k,2595) - lu(k,2261) * lu(k,2568)
         lu(k,2621) = lu(k,2621) - lu(k,2244) * lu(k,2615)
         lu(k,2622) = lu(k,2622) - lu(k,2245) * lu(k,2615)
         lu(k,2623) = lu(k,2623) - lu(k,2246) * lu(k,2615)
         lu(k,2624) = lu(k,2624) - lu(k,2247) * lu(k,2615)
         lu(k,2625) = lu(k,2625) - lu(k,2248) * lu(k,2615)
         lu(k,2626) = lu(k,2626) - lu(k,2249) * lu(k,2615)
         lu(k,2627) = lu(k,2627) - lu(k,2250) * lu(k,2615)
         lu(k,2628) = lu(k,2628) - lu(k,2251) * lu(k,2615)
         lu(k,2629) = lu(k,2629) - lu(k,2252) * lu(k,2615)
         lu(k,2630) = lu(k,2630) - lu(k,2253) * lu(k,2615)
         lu(k,2631) = lu(k,2631) - lu(k,2254) * lu(k,2615)
         lu(k,2633) = lu(k,2633) - lu(k,2255) * lu(k,2615)
         lu(k,2634) = lu(k,2634) - lu(k,2256) * lu(k,2615)
         lu(k,2635) = lu(k,2635) - lu(k,2257) * lu(k,2615)
         lu(k,2636) = lu(k,2636) - lu(k,2258) * lu(k,2615)
         lu(k,2638) = lu(k,2638) - lu(k,2259) * lu(k,2615)
         lu(k,2639) = lu(k,2639) - lu(k,2260) * lu(k,2615)
         lu(k,2642) = lu(k,2642) - lu(k,2261) * lu(k,2615)
         lu(k,2692) = lu(k,2692) - lu(k,2244) * lu(k,2686)
         lu(k,2693) = lu(k,2693) - lu(k,2245) * lu(k,2686)
         lu(k,2694) = lu(k,2694) - lu(k,2246) * lu(k,2686)
         lu(k,2695) = lu(k,2695) - lu(k,2247) * lu(k,2686)
         lu(k,2696) = lu(k,2696) - lu(k,2248) * lu(k,2686)
         lu(k,2697) = lu(k,2697) - lu(k,2249) * lu(k,2686)
         lu(k,2698) = lu(k,2698) - lu(k,2250) * lu(k,2686)
         lu(k,2699) = lu(k,2699) - lu(k,2251) * lu(k,2686)
         lu(k,2700) = lu(k,2700) - lu(k,2252) * lu(k,2686)
         lu(k,2701) = lu(k,2701) - lu(k,2253) * lu(k,2686)
         lu(k,2702) = lu(k,2702) - lu(k,2254) * lu(k,2686)
         lu(k,2704) = lu(k,2704) - lu(k,2255) * lu(k,2686)
         lu(k,2705) = lu(k,2705) - lu(k,2256) * lu(k,2686)
         lu(k,2706) = lu(k,2706) - lu(k,2257) * lu(k,2686)
         lu(k,2707) = lu(k,2707) - lu(k,2258) * lu(k,2686)
         lu(k,2709) = lu(k,2709) - lu(k,2259) * lu(k,2686)
         lu(k,2710) = lu(k,2710) - lu(k,2260) * lu(k,2686)
         lu(k,2713) = lu(k,2713) - lu(k,2261) * lu(k,2686)
         lu(k,2875) = lu(k,2875) - lu(k,2244) * lu(k,2869)
         lu(k,2876) = lu(k,2876) - lu(k,2245) * lu(k,2869)
         lu(k,2877) = lu(k,2877) - lu(k,2246) * lu(k,2869)
         lu(k,2878) = lu(k,2878) - lu(k,2247) * lu(k,2869)
         lu(k,2879) = lu(k,2879) - lu(k,2248) * lu(k,2869)
         lu(k,2880) = lu(k,2880) - lu(k,2249) * lu(k,2869)
         lu(k,2881) = lu(k,2881) - lu(k,2250) * lu(k,2869)
         lu(k,2882) = lu(k,2882) - lu(k,2251) * lu(k,2869)
         lu(k,2883) = lu(k,2883) - lu(k,2252) * lu(k,2869)
         lu(k,2884) = lu(k,2884) - lu(k,2253) * lu(k,2869)
         lu(k,2885) = lu(k,2885) - lu(k,2254) * lu(k,2869)
         lu(k,2887) = lu(k,2887) - lu(k,2255) * lu(k,2869)
         lu(k,2889) = lu(k,2889) - lu(k,2256) * lu(k,2869)
         lu(k,2891) = lu(k,2891) - lu(k,2257) * lu(k,2869)
         lu(k,2892) = lu(k,2892) - lu(k,2258) * lu(k,2869)
         lu(k,2894) = lu(k,2894) - lu(k,2259) * lu(k,2869)
         lu(k,2895) = lu(k,2895) - lu(k,2260) * lu(k,2869)
         lu(k,2899) = lu(k,2899) - lu(k,2261) * lu(k,2869)
         lu(k,2976) = lu(k,2976) - lu(k,2244) * lu(k,2970)
         lu(k,2977) = lu(k,2977) - lu(k,2245) * lu(k,2970)
         lu(k,2978) = lu(k,2978) - lu(k,2246) * lu(k,2970)
         lu(k,2979) = lu(k,2979) - lu(k,2247) * lu(k,2970)
         lu(k,2980) = lu(k,2980) - lu(k,2248) * lu(k,2970)
         lu(k,2981) = lu(k,2981) - lu(k,2249) * lu(k,2970)
         lu(k,2982) = lu(k,2982) - lu(k,2250) * lu(k,2970)
         lu(k,2983) = lu(k,2983) - lu(k,2251) * lu(k,2970)
         lu(k,2984) = lu(k,2984) - lu(k,2252) * lu(k,2970)
         lu(k,2985) = lu(k,2985) - lu(k,2253) * lu(k,2970)
         lu(k,2986) = lu(k,2986) - lu(k,2254) * lu(k,2970)
         lu(k,2988) = lu(k,2988) - lu(k,2255) * lu(k,2970)
         lu(k,2990) = lu(k,2990) - lu(k,2256) * lu(k,2970)
         lu(k,2992) = lu(k,2992) - lu(k,2257) * lu(k,2970)
         lu(k,2993) = lu(k,2993) - lu(k,2258) * lu(k,2970)
         lu(k,2995) = lu(k,2995) - lu(k,2259) * lu(k,2970)
         lu(k,2996) = lu(k,2996) - lu(k,2260) * lu(k,2970)
         lu(k,3000) = lu(k,3000) - lu(k,2261) * lu(k,2970)
         lu(k,3068) = lu(k,3068) - lu(k,2244) * lu(k,3062)
         lu(k,3069) = lu(k,3069) - lu(k,2245) * lu(k,3062)
         lu(k,3070) = lu(k,3070) - lu(k,2246) * lu(k,3062)
         lu(k,3071) = lu(k,3071) - lu(k,2247) * lu(k,3062)
         lu(k,3072) = lu(k,3072) - lu(k,2248) * lu(k,3062)
         lu(k,3073) = lu(k,3073) - lu(k,2249) * lu(k,3062)
         lu(k,3074) = lu(k,3074) - lu(k,2250) * lu(k,3062)
         lu(k,3075) = lu(k,3075) - lu(k,2251) * lu(k,3062)
         lu(k,3076) = lu(k,3076) - lu(k,2252) * lu(k,3062)
         lu(k,3077) = lu(k,3077) - lu(k,2253) * lu(k,3062)
         lu(k,3078) = lu(k,3078) - lu(k,2254) * lu(k,3062)
         lu(k,3080) = lu(k,3080) - lu(k,2255) * lu(k,3062)
         lu(k,3082) = lu(k,3082) - lu(k,2256) * lu(k,3062)
         lu(k,3084) = lu(k,3084) - lu(k,2257) * lu(k,3062)
         lu(k,3085) = lu(k,3085) - lu(k,2258) * lu(k,3062)
         lu(k,3087) = lu(k,3087) - lu(k,2259) * lu(k,3062)
         lu(k,3088) = lu(k,3088) - lu(k,2260) * lu(k,3062)
         lu(k,3092) = lu(k,3092) - lu(k,2261) * lu(k,3062)
         lu(k,3271) = lu(k,3271) - lu(k,2244) * lu(k,3265)
         lu(k,3272) = lu(k,3272) - lu(k,2245) * lu(k,3265)
         lu(k,3273) = lu(k,3273) - lu(k,2246) * lu(k,3265)
         lu(k,3274) = lu(k,3274) - lu(k,2247) * lu(k,3265)
         lu(k,3275) = lu(k,3275) - lu(k,2248) * lu(k,3265)
         lu(k,3276) = lu(k,3276) - lu(k,2249) * lu(k,3265)
         lu(k,3277) = lu(k,3277) - lu(k,2250) * lu(k,3265)
         lu(k,3278) = lu(k,3278) - lu(k,2251) * lu(k,3265)
         lu(k,3279) = lu(k,3279) - lu(k,2252) * lu(k,3265)
         lu(k,3280) = lu(k,3280) - lu(k,2253) * lu(k,3265)
         lu(k,3281) = lu(k,3281) - lu(k,2254) * lu(k,3265)
         lu(k,3283) = lu(k,3283) - lu(k,2255) * lu(k,3265)
         lu(k,3285) = lu(k,3285) - lu(k,2256) * lu(k,3265)
         lu(k,3287) = lu(k,3287) - lu(k,2257) * lu(k,3265)
         lu(k,3288) = lu(k,3288) - lu(k,2258) * lu(k,3265)
         lu(k,3290) = lu(k,3290) - lu(k,2259) * lu(k,3265)
         lu(k,3291) = lu(k,3291) - lu(k,2260) * lu(k,3265)
         lu(k,3295) = lu(k,3295) - lu(k,2261) * lu(k,3265)
         lu(k,3412) = lu(k,3412) - lu(k,2244) * lu(k,3406)
         lu(k,3413) = lu(k,3413) - lu(k,2245) * lu(k,3406)
         lu(k,3414) = lu(k,3414) - lu(k,2246) * lu(k,3406)
         lu(k,3415) = lu(k,3415) - lu(k,2247) * lu(k,3406)
         lu(k,3416) = lu(k,3416) - lu(k,2248) * lu(k,3406)
         lu(k,3417) = lu(k,3417) - lu(k,2249) * lu(k,3406)
         lu(k,3418) = lu(k,3418) - lu(k,2250) * lu(k,3406)
         lu(k,3419) = lu(k,3419) - lu(k,2251) * lu(k,3406)
         lu(k,3420) = lu(k,3420) - lu(k,2252) * lu(k,3406)
         lu(k,3421) = lu(k,3421) - lu(k,2253) * lu(k,3406)
         lu(k,3422) = lu(k,3422) - lu(k,2254) * lu(k,3406)
         lu(k,3424) = lu(k,3424) - lu(k,2255) * lu(k,3406)
         lu(k,3426) = lu(k,3426) - lu(k,2256) * lu(k,3406)
         lu(k,3428) = lu(k,3428) - lu(k,2257) * lu(k,3406)
         lu(k,3429) = lu(k,3429) - lu(k,2258) * lu(k,3406)
         lu(k,3431) = lu(k,3431) - lu(k,2259) * lu(k,3406)
         lu(k,3432) = lu(k,3432) - lu(k,2260) * lu(k,3406)
         lu(k,3436) = lu(k,3436) - lu(k,2261) * lu(k,3406)
         lu(k,3732) = lu(k,3732) - lu(k,2244) * lu(k,3726)
         lu(k,3733) = lu(k,3733) - lu(k,2245) * lu(k,3726)
         lu(k,3734) = lu(k,3734) - lu(k,2246) * lu(k,3726)
         lu(k,3735) = lu(k,3735) - lu(k,2247) * lu(k,3726)
         lu(k,3736) = lu(k,3736) - lu(k,2248) * lu(k,3726)
         lu(k,3737) = lu(k,3737) - lu(k,2249) * lu(k,3726)
         lu(k,3738) = lu(k,3738) - lu(k,2250) * lu(k,3726)
         lu(k,3739) = lu(k,3739) - lu(k,2251) * lu(k,3726)
         lu(k,3740) = lu(k,3740) - lu(k,2252) * lu(k,3726)
         lu(k,3741) = lu(k,3741) - lu(k,2253) * lu(k,3726)
         lu(k,3742) = lu(k,3742) - lu(k,2254) * lu(k,3726)
         lu(k,3744) = lu(k,3744) - lu(k,2255) * lu(k,3726)
         lu(k,3746) = lu(k,3746) - lu(k,2256) * lu(k,3726)
         lu(k,3748) = lu(k,3748) - lu(k,2257) * lu(k,3726)
         lu(k,3749) = lu(k,3749) - lu(k,2258) * lu(k,3726)
         lu(k,3751) = lu(k,3751) - lu(k,2259) * lu(k,3726)
         lu(k,3752) = lu(k,3752) - lu(k,2260) * lu(k,3726)
         lu(k,3756) = lu(k,3756) - lu(k,2261) * lu(k,3726)
         lu(k,2271) = 1._r8 / lu(k,2271)
         lu(k,2272) = lu(k,2272) * lu(k,2271)
         lu(k,2273) = lu(k,2273) * lu(k,2271)
         lu(k,2274) = lu(k,2274) * lu(k,2271)
         lu(k,2275) = lu(k,2275) * lu(k,2271)
         lu(k,2276) = lu(k,2276) * lu(k,2271)
         lu(k,2277) = lu(k,2277) * lu(k,2271)
         lu(k,2278) = lu(k,2278) * lu(k,2271)
         lu(k,2279) = lu(k,2279) * lu(k,2271)
         lu(k,2280) = lu(k,2280) * lu(k,2271)
         lu(k,2281) = lu(k,2281) * lu(k,2271)
         lu(k,2282) = lu(k,2282) * lu(k,2271)
         lu(k,2283) = lu(k,2283) * lu(k,2271)
         lu(k,2284) = lu(k,2284) * lu(k,2271)
         lu(k,2285) = lu(k,2285) * lu(k,2271)
         lu(k,2286) = lu(k,2286) * lu(k,2271)
         lu(k,2287) = lu(k,2287) * lu(k,2271)
         lu(k,2288) = lu(k,2288) * lu(k,2271)
         lu(k,2289) = lu(k,2289) * lu(k,2271)
         lu(k,2290) = lu(k,2290) * lu(k,2271)
         lu(k,2527) = lu(k,2527) - lu(k,2272) * lu(k,2523)
         lu(k,2528) = lu(k,2528) - lu(k,2273) * lu(k,2523)
         lu(k,2529) = lu(k,2529) - lu(k,2274) * lu(k,2523)
         lu(k,2530) = lu(k,2530) - lu(k,2275) * lu(k,2523)
         lu(k,2531) = lu(k,2531) - lu(k,2276) * lu(k,2523)
         lu(k,2532) = lu(k,2532) - lu(k,2277) * lu(k,2523)
         lu(k,2533) = lu(k,2533) - lu(k,2278) * lu(k,2523)
         lu(k,2534) = lu(k,2534) - lu(k,2279) * lu(k,2523)
         lu(k,2535) = lu(k,2535) - lu(k,2280) * lu(k,2523)
         lu(k,2536) = lu(k,2536) - lu(k,2281) * lu(k,2523)
         lu(k,2537) = lu(k,2537) - lu(k,2282) * lu(k,2523)
         lu(k,2538) = lu(k,2538) - lu(k,2283) * lu(k,2523)
         lu(k,2540) = lu(k,2540) - lu(k,2284) * lu(k,2523)
         lu(k,2541) = lu(k,2541) - lu(k,2285) * lu(k,2523)
         lu(k,2542) = lu(k,2542) - lu(k,2286) * lu(k,2523)
         lu(k,2543) = lu(k,2543) - lu(k,2287) * lu(k,2523)
         lu(k,2545) = lu(k,2545) - lu(k,2288) * lu(k,2523)
         lu(k,2546) = lu(k,2546) - lu(k,2289) * lu(k,2523)
         lu(k,2549) = lu(k,2549) - lu(k,2290) * lu(k,2523)
         lu(k,2573) = lu(k,2573) - lu(k,2272) * lu(k,2569)
         lu(k,2574) = lu(k,2574) - lu(k,2273) * lu(k,2569)
         lu(k,2575) = lu(k,2575) - lu(k,2274) * lu(k,2569)
         lu(k,2576) = lu(k,2576) - lu(k,2275) * lu(k,2569)
         lu(k,2577) = lu(k,2577) - lu(k,2276) * lu(k,2569)
         lu(k,2578) = lu(k,2578) - lu(k,2277) * lu(k,2569)
         lu(k,2579) = lu(k,2579) - lu(k,2278) * lu(k,2569)
         lu(k,2580) = lu(k,2580) - lu(k,2279) * lu(k,2569)
         lu(k,2581) = lu(k,2581) - lu(k,2280) * lu(k,2569)
         lu(k,2582) = lu(k,2582) - lu(k,2281) * lu(k,2569)
         lu(k,2583) = lu(k,2583) - lu(k,2282) * lu(k,2569)
         lu(k,2584) = lu(k,2584) - lu(k,2283) * lu(k,2569)
         lu(k,2586) = lu(k,2586) - lu(k,2284) * lu(k,2569)
         lu(k,2587) = lu(k,2587) - lu(k,2285) * lu(k,2569)
         lu(k,2588) = lu(k,2588) - lu(k,2286) * lu(k,2569)
         lu(k,2589) = lu(k,2589) - lu(k,2287) * lu(k,2569)
         lu(k,2591) = lu(k,2591) - lu(k,2288) * lu(k,2569)
         lu(k,2592) = lu(k,2592) - lu(k,2289) * lu(k,2569)
         lu(k,2595) = lu(k,2595) - lu(k,2290) * lu(k,2569)
         lu(k,2620) = lu(k,2620) - lu(k,2272) * lu(k,2616)
         lu(k,2621) = lu(k,2621) - lu(k,2273) * lu(k,2616)
         lu(k,2622) = lu(k,2622) - lu(k,2274) * lu(k,2616)
         lu(k,2623) = lu(k,2623) - lu(k,2275) * lu(k,2616)
         lu(k,2624) = lu(k,2624) - lu(k,2276) * lu(k,2616)
         lu(k,2625) = lu(k,2625) - lu(k,2277) * lu(k,2616)
         lu(k,2626) = lu(k,2626) - lu(k,2278) * lu(k,2616)
         lu(k,2627) = lu(k,2627) - lu(k,2279) * lu(k,2616)
         lu(k,2628) = lu(k,2628) - lu(k,2280) * lu(k,2616)
         lu(k,2629) = lu(k,2629) - lu(k,2281) * lu(k,2616)
         lu(k,2630) = lu(k,2630) - lu(k,2282) * lu(k,2616)
         lu(k,2631) = lu(k,2631) - lu(k,2283) * lu(k,2616)
         lu(k,2633) = lu(k,2633) - lu(k,2284) * lu(k,2616)
         lu(k,2634) = lu(k,2634) - lu(k,2285) * lu(k,2616)
         lu(k,2635) = lu(k,2635) - lu(k,2286) * lu(k,2616)
         lu(k,2636) = lu(k,2636) - lu(k,2287) * lu(k,2616)
         lu(k,2638) = lu(k,2638) - lu(k,2288) * lu(k,2616)
         lu(k,2639) = lu(k,2639) - lu(k,2289) * lu(k,2616)
         lu(k,2642) = lu(k,2642) - lu(k,2290) * lu(k,2616)
         lu(k,2691) = lu(k,2691) - lu(k,2272) * lu(k,2687)
         lu(k,2692) = lu(k,2692) - lu(k,2273) * lu(k,2687)
         lu(k,2693) = lu(k,2693) - lu(k,2274) * lu(k,2687)
         lu(k,2694) = lu(k,2694) - lu(k,2275) * lu(k,2687)
         lu(k,2695) = lu(k,2695) - lu(k,2276) * lu(k,2687)
         lu(k,2696) = lu(k,2696) - lu(k,2277) * lu(k,2687)
         lu(k,2697) = lu(k,2697) - lu(k,2278) * lu(k,2687)
         lu(k,2698) = lu(k,2698) - lu(k,2279) * lu(k,2687)
         lu(k,2699) = lu(k,2699) - lu(k,2280) * lu(k,2687)
         lu(k,2700) = lu(k,2700) - lu(k,2281) * lu(k,2687)
         lu(k,2701) = lu(k,2701) - lu(k,2282) * lu(k,2687)
         lu(k,2702) = lu(k,2702) - lu(k,2283) * lu(k,2687)
         lu(k,2704) = lu(k,2704) - lu(k,2284) * lu(k,2687)
         lu(k,2705) = lu(k,2705) - lu(k,2285) * lu(k,2687)
         lu(k,2706) = lu(k,2706) - lu(k,2286) * lu(k,2687)
         lu(k,2707) = lu(k,2707) - lu(k,2287) * lu(k,2687)
         lu(k,2709) = lu(k,2709) - lu(k,2288) * lu(k,2687)
         lu(k,2710) = lu(k,2710) - lu(k,2289) * lu(k,2687)
         lu(k,2713) = lu(k,2713) - lu(k,2290) * lu(k,2687)
         lu(k,2874) = lu(k,2874) - lu(k,2272) * lu(k,2870)
         lu(k,2875) = lu(k,2875) - lu(k,2273) * lu(k,2870)
         lu(k,2876) = lu(k,2876) - lu(k,2274) * lu(k,2870)
         lu(k,2877) = lu(k,2877) - lu(k,2275) * lu(k,2870)
         lu(k,2878) = lu(k,2878) - lu(k,2276) * lu(k,2870)
         lu(k,2879) = lu(k,2879) - lu(k,2277) * lu(k,2870)
         lu(k,2880) = lu(k,2880) - lu(k,2278) * lu(k,2870)
         lu(k,2881) = lu(k,2881) - lu(k,2279) * lu(k,2870)
         lu(k,2882) = lu(k,2882) - lu(k,2280) * lu(k,2870)
         lu(k,2883) = lu(k,2883) - lu(k,2281) * lu(k,2870)
         lu(k,2884) = lu(k,2884) - lu(k,2282) * lu(k,2870)
         lu(k,2885) = lu(k,2885) - lu(k,2283) * lu(k,2870)
         lu(k,2887) = lu(k,2887) - lu(k,2284) * lu(k,2870)
         lu(k,2889) = lu(k,2889) - lu(k,2285) * lu(k,2870)
         lu(k,2891) = lu(k,2891) - lu(k,2286) * lu(k,2870)
         lu(k,2892) = lu(k,2892) - lu(k,2287) * lu(k,2870)
         lu(k,2894) = lu(k,2894) - lu(k,2288) * lu(k,2870)
         lu(k,2895) = lu(k,2895) - lu(k,2289) * lu(k,2870)
         lu(k,2899) = lu(k,2899) - lu(k,2290) * lu(k,2870)
         lu(k,2975) = lu(k,2975) - lu(k,2272) * lu(k,2971)
         lu(k,2976) = lu(k,2976) - lu(k,2273) * lu(k,2971)
         lu(k,2977) = lu(k,2977) - lu(k,2274) * lu(k,2971)
         lu(k,2978) = lu(k,2978) - lu(k,2275) * lu(k,2971)
         lu(k,2979) = lu(k,2979) - lu(k,2276) * lu(k,2971)
         lu(k,2980) = lu(k,2980) - lu(k,2277) * lu(k,2971)
         lu(k,2981) = lu(k,2981) - lu(k,2278) * lu(k,2971)
         lu(k,2982) = lu(k,2982) - lu(k,2279) * lu(k,2971)
         lu(k,2983) = lu(k,2983) - lu(k,2280) * lu(k,2971)
         lu(k,2984) = lu(k,2984) - lu(k,2281) * lu(k,2971)
         lu(k,2985) = lu(k,2985) - lu(k,2282) * lu(k,2971)
         lu(k,2986) = lu(k,2986) - lu(k,2283) * lu(k,2971)
         lu(k,2988) = lu(k,2988) - lu(k,2284) * lu(k,2971)
         lu(k,2990) = lu(k,2990) - lu(k,2285) * lu(k,2971)
         lu(k,2992) = lu(k,2992) - lu(k,2286) * lu(k,2971)
         lu(k,2993) = lu(k,2993) - lu(k,2287) * lu(k,2971)
         lu(k,2995) = lu(k,2995) - lu(k,2288) * lu(k,2971)
         lu(k,2996) = lu(k,2996) - lu(k,2289) * lu(k,2971)
         lu(k,3000) = lu(k,3000) - lu(k,2290) * lu(k,2971)
         lu(k,3067) = lu(k,3067) - lu(k,2272) * lu(k,3063)
         lu(k,3068) = lu(k,3068) - lu(k,2273) * lu(k,3063)
         lu(k,3069) = lu(k,3069) - lu(k,2274) * lu(k,3063)
         lu(k,3070) = lu(k,3070) - lu(k,2275) * lu(k,3063)
         lu(k,3071) = lu(k,3071) - lu(k,2276) * lu(k,3063)
         lu(k,3072) = lu(k,3072) - lu(k,2277) * lu(k,3063)
         lu(k,3073) = lu(k,3073) - lu(k,2278) * lu(k,3063)
         lu(k,3074) = lu(k,3074) - lu(k,2279) * lu(k,3063)
         lu(k,3075) = lu(k,3075) - lu(k,2280) * lu(k,3063)
         lu(k,3076) = lu(k,3076) - lu(k,2281) * lu(k,3063)
         lu(k,3077) = lu(k,3077) - lu(k,2282) * lu(k,3063)
         lu(k,3078) = lu(k,3078) - lu(k,2283) * lu(k,3063)
         lu(k,3080) = lu(k,3080) - lu(k,2284) * lu(k,3063)
         lu(k,3082) = lu(k,3082) - lu(k,2285) * lu(k,3063)
         lu(k,3084) = lu(k,3084) - lu(k,2286) * lu(k,3063)
         lu(k,3085) = lu(k,3085) - lu(k,2287) * lu(k,3063)
         lu(k,3087) = lu(k,3087) - lu(k,2288) * lu(k,3063)
         lu(k,3088) = lu(k,3088) - lu(k,2289) * lu(k,3063)
         lu(k,3092) = lu(k,3092) - lu(k,2290) * lu(k,3063)
         lu(k,3270) = lu(k,3270) - lu(k,2272) * lu(k,3266)
         lu(k,3271) = lu(k,3271) - lu(k,2273) * lu(k,3266)
         lu(k,3272) = lu(k,3272) - lu(k,2274) * lu(k,3266)
         lu(k,3273) = lu(k,3273) - lu(k,2275) * lu(k,3266)
         lu(k,3274) = lu(k,3274) - lu(k,2276) * lu(k,3266)
         lu(k,3275) = lu(k,3275) - lu(k,2277) * lu(k,3266)
         lu(k,3276) = lu(k,3276) - lu(k,2278) * lu(k,3266)
         lu(k,3277) = lu(k,3277) - lu(k,2279) * lu(k,3266)
         lu(k,3278) = lu(k,3278) - lu(k,2280) * lu(k,3266)
         lu(k,3279) = lu(k,3279) - lu(k,2281) * lu(k,3266)
         lu(k,3280) = lu(k,3280) - lu(k,2282) * lu(k,3266)
         lu(k,3281) = lu(k,3281) - lu(k,2283) * lu(k,3266)
         lu(k,3283) = lu(k,3283) - lu(k,2284) * lu(k,3266)
         lu(k,3285) = lu(k,3285) - lu(k,2285) * lu(k,3266)
         lu(k,3287) = lu(k,3287) - lu(k,2286) * lu(k,3266)
         lu(k,3288) = lu(k,3288) - lu(k,2287) * lu(k,3266)
         lu(k,3290) = lu(k,3290) - lu(k,2288) * lu(k,3266)
         lu(k,3291) = lu(k,3291) - lu(k,2289) * lu(k,3266)
         lu(k,3295) = lu(k,3295) - lu(k,2290) * lu(k,3266)
         lu(k,3411) = lu(k,3411) - lu(k,2272) * lu(k,3407)
         lu(k,3412) = lu(k,3412) - lu(k,2273) * lu(k,3407)
         lu(k,3413) = lu(k,3413) - lu(k,2274) * lu(k,3407)
         lu(k,3414) = lu(k,3414) - lu(k,2275) * lu(k,3407)
         lu(k,3415) = lu(k,3415) - lu(k,2276) * lu(k,3407)
         lu(k,3416) = lu(k,3416) - lu(k,2277) * lu(k,3407)
         lu(k,3417) = lu(k,3417) - lu(k,2278) * lu(k,3407)
         lu(k,3418) = lu(k,3418) - lu(k,2279) * lu(k,3407)
         lu(k,3419) = lu(k,3419) - lu(k,2280) * lu(k,3407)
         lu(k,3420) = lu(k,3420) - lu(k,2281) * lu(k,3407)
         lu(k,3421) = lu(k,3421) - lu(k,2282) * lu(k,3407)
         lu(k,3422) = lu(k,3422) - lu(k,2283) * lu(k,3407)
         lu(k,3424) = lu(k,3424) - lu(k,2284) * lu(k,3407)
         lu(k,3426) = lu(k,3426) - lu(k,2285) * lu(k,3407)
         lu(k,3428) = lu(k,3428) - lu(k,2286) * lu(k,3407)
         lu(k,3429) = lu(k,3429) - lu(k,2287) * lu(k,3407)
         lu(k,3431) = lu(k,3431) - lu(k,2288) * lu(k,3407)
         lu(k,3432) = lu(k,3432) - lu(k,2289) * lu(k,3407)
         lu(k,3436) = lu(k,3436) - lu(k,2290) * lu(k,3407)
         lu(k,3731) = lu(k,3731) - lu(k,2272) * lu(k,3727)
         lu(k,3732) = lu(k,3732) - lu(k,2273) * lu(k,3727)
         lu(k,3733) = lu(k,3733) - lu(k,2274) * lu(k,3727)
         lu(k,3734) = lu(k,3734) - lu(k,2275) * lu(k,3727)
         lu(k,3735) = lu(k,3735) - lu(k,2276) * lu(k,3727)
         lu(k,3736) = lu(k,3736) - lu(k,2277) * lu(k,3727)
         lu(k,3737) = lu(k,3737) - lu(k,2278) * lu(k,3727)
         lu(k,3738) = lu(k,3738) - lu(k,2279) * lu(k,3727)
         lu(k,3739) = lu(k,3739) - lu(k,2280) * lu(k,3727)
         lu(k,3740) = lu(k,3740) - lu(k,2281) * lu(k,3727)
         lu(k,3741) = lu(k,3741) - lu(k,2282) * lu(k,3727)
         lu(k,3742) = lu(k,3742) - lu(k,2283) * lu(k,3727)
         lu(k,3744) = lu(k,3744) - lu(k,2284) * lu(k,3727)
         lu(k,3746) = lu(k,3746) - lu(k,2285) * lu(k,3727)
         lu(k,3748) = lu(k,3748) - lu(k,2286) * lu(k,3727)
         lu(k,3749) = lu(k,3749) - lu(k,2287) * lu(k,3727)
         lu(k,3751) = lu(k,3751) - lu(k,2288) * lu(k,3727)
         lu(k,3752) = lu(k,3752) - lu(k,2289) * lu(k,3727)
         lu(k,3756) = lu(k,3756) - lu(k,2290) * lu(k,3727)
      end do
      end subroutine lu_fac44
      subroutine lu_fac45( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,2303) = 1._r8 / lu(k,2303)
         lu(k,2304) = lu(k,2304) * lu(k,2303)
         lu(k,2305) = lu(k,2305) * lu(k,2303)
         lu(k,2306) = lu(k,2306) * lu(k,2303)
         lu(k,2307) = lu(k,2307) * lu(k,2303)
         lu(k,2308) = lu(k,2308) * lu(k,2303)
         lu(k,2309) = lu(k,2309) * lu(k,2303)
         lu(k,2310) = lu(k,2310) * lu(k,2303)
         lu(k,2311) = lu(k,2311) * lu(k,2303)
         lu(k,2312) = lu(k,2312) * lu(k,2303)
         lu(k,2313) = lu(k,2313) * lu(k,2303)
         lu(k,2314) = lu(k,2314) * lu(k,2303)
         lu(k,2315) = lu(k,2315) * lu(k,2303)
         lu(k,2316) = lu(k,2316) * lu(k,2303)
         lu(k,2317) = lu(k,2317) * lu(k,2303)
         lu(k,2318) = lu(k,2318) * lu(k,2303)
         lu(k,2319) = lu(k,2319) * lu(k,2303)
         lu(k,2320) = lu(k,2320) * lu(k,2303)
         lu(k,2321) = lu(k,2321) * lu(k,2303)
         lu(k,2322) = lu(k,2322) * lu(k,2303)
         lu(k,2525) = lu(k,2525) - lu(k,2304) * lu(k,2524)
         lu(k,2528) = lu(k,2528) - lu(k,2305) * lu(k,2524)
         lu(k,2529) = lu(k,2529) - lu(k,2306) * lu(k,2524)
         lu(k,2530) = lu(k,2530) - lu(k,2307) * lu(k,2524)
         lu(k,2531) = lu(k,2531) - lu(k,2308) * lu(k,2524)
         lu(k,2532) = lu(k,2532) - lu(k,2309) * lu(k,2524)
         lu(k,2533) = lu(k,2533) - lu(k,2310) * lu(k,2524)
         lu(k,2534) = lu(k,2534) - lu(k,2311) * lu(k,2524)
         lu(k,2535) = lu(k,2535) - lu(k,2312) * lu(k,2524)
         lu(k,2536) = lu(k,2536) - lu(k,2313) * lu(k,2524)
         lu(k,2537) = lu(k,2537) - lu(k,2314) * lu(k,2524)
         lu(k,2538) = lu(k,2538) - lu(k,2315) * lu(k,2524)
         lu(k,2540) = lu(k,2540) - lu(k,2316) * lu(k,2524)
         lu(k,2541) = lu(k,2541) - lu(k,2317) * lu(k,2524)
         lu(k,2542) = lu(k,2542) - lu(k,2318) * lu(k,2524)
         lu(k,2543) = lu(k,2543) - lu(k,2319) * lu(k,2524)
         lu(k,2545) = lu(k,2545) - lu(k,2320) * lu(k,2524)
         lu(k,2546) = lu(k,2546) - lu(k,2321) * lu(k,2524)
         lu(k,2549) = lu(k,2549) - lu(k,2322) * lu(k,2524)
         lu(k,2571) = lu(k,2571) - lu(k,2304) * lu(k,2570)
         lu(k,2574) = lu(k,2574) - lu(k,2305) * lu(k,2570)
         lu(k,2575) = lu(k,2575) - lu(k,2306) * lu(k,2570)
         lu(k,2576) = lu(k,2576) - lu(k,2307) * lu(k,2570)
         lu(k,2577) = lu(k,2577) - lu(k,2308) * lu(k,2570)
         lu(k,2578) = lu(k,2578) - lu(k,2309) * lu(k,2570)
         lu(k,2579) = lu(k,2579) - lu(k,2310) * lu(k,2570)
         lu(k,2580) = lu(k,2580) - lu(k,2311) * lu(k,2570)
         lu(k,2581) = lu(k,2581) - lu(k,2312) * lu(k,2570)
         lu(k,2582) = lu(k,2582) - lu(k,2313) * lu(k,2570)
         lu(k,2583) = lu(k,2583) - lu(k,2314) * lu(k,2570)
         lu(k,2584) = lu(k,2584) - lu(k,2315) * lu(k,2570)
         lu(k,2586) = lu(k,2586) - lu(k,2316) * lu(k,2570)
         lu(k,2587) = lu(k,2587) - lu(k,2317) * lu(k,2570)
         lu(k,2588) = lu(k,2588) - lu(k,2318) * lu(k,2570)
         lu(k,2589) = lu(k,2589) - lu(k,2319) * lu(k,2570)
         lu(k,2591) = lu(k,2591) - lu(k,2320) * lu(k,2570)
         lu(k,2592) = lu(k,2592) - lu(k,2321) * lu(k,2570)
         lu(k,2595) = lu(k,2595) - lu(k,2322) * lu(k,2570)
         lu(k,2618) = lu(k,2618) - lu(k,2304) * lu(k,2617)
         lu(k,2621) = lu(k,2621) - lu(k,2305) * lu(k,2617)
         lu(k,2622) = lu(k,2622) - lu(k,2306) * lu(k,2617)
         lu(k,2623) = lu(k,2623) - lu(k,2307) * lu(k,2617)
         lu(k,2624) = lu(k,2624) - lu(k,2308) * lu(k,2617)
         lu(k,2625) = lu(k,2625) - lu(k,2309) * lu(k,2617)
         lu(k,2626) = lu(k,2626) - lu(k,2310) * lu(k,2617)
         lu(k,2627) = lu(k,2627) - lu(k,2311) * lu(k,2617)
         lu(k,2628) = lu(k,2628) - lu(k,2312) * lu(k,2617)
         lu(k,2629) = lu(k,2629) - lu(k,2313) * lu(k,2617)
         lu(k,2630) = lu(k,2630) - lu(k,2314) * lu(k,2617)
         lu(k,2631) = lu(k,2631) - lu(k,2315) * lu(k,2617)
         lu(k,2633) = lu(k,2633) - lu(k,2316) * lu(k,2617)
         lu(k,2634) = lu(k,2634) - lu(k,2317) * lu(k,2617)
         lu(k,2635) = lu(k,2635) - lu(k,2318) * lu(k,2617)
         lu(k,2636) = lu(k,2636) - lu(k,2319) * lu(k,2617)
         lu(k,2638) = lu(k,2638) - lu(k,2320) * lu(k,2617)
         lu(k,2639) = lu(k,2639) - lu(k,2321) * lu(k,2617)
         lu(k,2642) = lu(k,2642) - lu(k,2322) * lu(k,2617)
         lu(k,2689) = lu(k,2689) - lu(k,2304) * lu(k,2688)
         lu(k,2692) = lu(k,2692) - lu(k,2305) * lu(k,2688)
         lu(k,2693) = lu(k,2693) - lu(k,2306) * lu(k,2688)
         lu(k,2694) = lu(k,2694) - lu(k,2307) * lu(k,2688)
         lu(k,2695) = lu(k,2695) - lu(k,2308) * lu(k,2688)
         lu(k,2696) = lu(k,2696) - lu(k,2309) * lu(k,2688)
         lu(k,2697) = lu(k,2697) - lu(k,2310) * lu(k,2688)
         lu(k,2698) = lu(k,2698) - lu(k,2311) * lu(k,2688)
         lu(k,2699) = lu(k,2699) - lu(k,2312) * lu(k,2688)
         lu(k,2700) = lu(k,2700) - lu(k,2313) * lu(k,2688)
         lu(k,2701) = lu(k,2701) - lu(k,2314) * lu(k,2688)
         lu(k,2702) = lu(k,2702) - lu(k,2315) * lu(k,2688)
         lu(k,2704) = lu(k,2704) - lu(k,2316) * lu(k,2688)
         lu(k,2705) = lu(k,2705) - lu(k,2317) * lu(k,2688)
         lu(k,2706) = lu(k,2706) - lu(k,2318) * lu(k,2688)
         lu(k,2707) = lu(k,2707) - lu(k,2319) * lu(k,2688)
         lu(k,2709) = lu(k,2709) - lu(k,2320) * lu(k,2688)
         lu(k,2710) = lu(k,2710) - lu(k,2321) * lu(k,2688)
         lu(k,2713) = lu(k,2713) - lu(k,2322) * lu(k,2688)
         lu(k,2872) = lu(k,2872) - lu(k,2304) * lu(k,2871)
         lu(k,2875) = lu(k,2875) - lu(k,2305) * lu(k,2871)
         lu(k,2876) = lu(k,2876) - lu(k,2306) * lu(k,2871)
         lu(k,2877) = lu(k,2877) - lu(k,2307) * lu(k,2871)
         lu(k,2878) = lu(k,2878) - lu(k,2308) * lu(k,2871)
         lu(k,2879) = lu(k,2879) - lu(k,2309) * lu(k,2871)
         lu(k,2880) = lu(k,2880) - lu(k,2310) * lu(k,2871)
         lu(k,2881) = lu(k,2881) - lu(k,2311) * lu(k,2871)
         lu(k,2882) = lu(k,2882) - lu(k,2312) * lu(k,2871)
         lu(k,2883) = lu(k,2883) - lu(k,2313) * lu(k,2871)
         lu(k,2884) = lu(k,2884) - lu(k,2314) * lu(k,2871)
         lu(k,2885) = lu(k,2885) - lu(k,2315) * lu(k,2871)
         lu(k,2887) = lu(k,2887) - lu(k,2316) * lu(k,2871)
         lu(k,2889) = lu(k,2889) - lu(k,2317) * lu(k,2871)
         lu(k,2891) = lu(k,2891) - lu(k,2318) * lu(k,2871)
         lu(k,2892) = lu(k,2892) - lu(k,2319) * lu(k,2871)
         lu(k,2894) = lu(k,2894) - lu(k,2320) * lu(k,2871)
         lu(k,2895) = lu(k,2895) - lu(k,2321) * lu(k,2871)
         lu(k,2899) = lu(k,2899) - lu(k,2322) * lu(k,2871)
         lu(k,2973) = lu(k,2973) - lu(k,2304) * lu(k,2972)
         lu(k,2976) = lu(k,2976) - lu(k,2305) * lu(k,2972)
         lu(k,2977) = lu(k,2977) - lu(k,2306) * lu(k,2972)
         lu(k,2978) = lu(k,2978) - lu(k,2307) * lu(k,2972)
         lu(k,2979) = lu(k,2979) - lu(k,2308) * lu(k,2972)
         lu(k,2980) = lu(k,2980) - lu(k,2309) * lu(k,2972)
         lu(k,2981) = lu(k,2981) - lu(k,2310) * lu(k,2972)
         lu(k,2982) = lu(k,2982) - lu(k,2311) * lu(k,2972)
         lu(k,2983) = lu(k,2983) - lu(k,2312) * lu(k,2972)
         lu(k,2984) = lu(k,2984) - lu(k,2313) * lu(k,2972)
         lu(k,2985) = lu(k,2985) - lu(k,2314) * lu(k,2972)
         lu(k,2986) = lu(k,2986) - lu(k,2315) * lu(k,2972)
         lu(k,2988) = lu(k,2988) - lu(k,2316) * lu(k,2972)
         lu(k,2990) = lu(k,2990) - lu(k,2317) * lu(k,2972)
         lu(k,2992) = lu(k,2992) - lu(k,2318) * lu(k,2972)
         lu(k,2993) = lu(k,2993) - lu(k,2319) * lu(k,2972)
         lu(k,2995) = lu(k,2995) - lu(k,2320) * lu(k,2972)
         lu(k,2996) = lu(k,2996) - lu(k,2321) * lu(k,2972)
         lu(k,3000) = lu(k,3000) - lu(k,2322) * lu(k,2972)
         lu(k,3065) = lu(k,3065) - lu(k,2304) * lu(k,3064)
         lu(k,3068) = lu(k,3068) - lu(k,2305) * lu(k,3064)
         lu(k,3069) = lu(k,3069) - lu(k,2306) * lu(k,3064)
         lu(k,3070) = lu(k,3070) - lu(k,2307) * lu(k,3064)
         lu(k,3071) = lu(k,3071) - lu(k,2308) * lu(k,3064)
         lu(k,3072) = lu(k,3072) - lu(k,2309) * lu(k,3064)
         lu(k,3073) = lu(k,3073) - lu(k,2310) * lu(k,3064)
         lu(k,3074) = lu(k,3074) - lu(k,2311) * lu(k,3064)
         lu(k,3075) = lu(k,3075) - lu(k,2312) * lu(k,3064)
         lu(k,3076) = lu(k,3076) - lu(k,2313) * lu(k,3064)
         lu(k,3077) = lu(k,3077) - lu(k,2314) * lu(k,3064)
         lu(k,3078) = lu(k,3078) - lu(k,2315) * lu(k,3064)
         lu(k,3080) = lu(k,3080) - lu(k,2316) * lu(k,3064)
         lu(k,3082) = lu(k,3082) - lu(k,2317) * lu(k,3064)
         lu(k,3084) = lu(k,3084) - lu(k,2318) * lu(k,3064)
         lu(k,3085) = lu(k,3085) - lu(k,2319) * lu(k,3064)
         lu(k,3087) = lu(k,3087) - lu(k,2320) * lu(k,3064)
         lu(k,3088) = lu(k,3088) - lu(k,2321) * lu(k,3064)
         lu(k,3092) = lu(k,3092) - lu(k,2322) * lu(k,3064)
         lu(k,3268) = lu(k,3268) - lu(k,2304) * lu(k,3267)
         lu(k,3271) = lu(k,3271) - lu(k,2305) * lu(k,3267)
         lu(k,3272) = lu(k,3272) - lu(k,2306) * lu(k,3267)
         lu(k,3273) = lu(k,3273) - lu(k,2307) * lu(k,3267)
         lu(k,3274) = lu(k,3274) - lu(k,2308) * lu(k,3267)
         lu(k,3275) = lu(k,3275) - lu(k,2309) * lu(k,3267)
         lu(k,3276) = lu(k,3276) - lu(k,2310) * lu(k,3267)
         lu(k,3277) = lu(k,3277) - lu(k,2311) * lu(k,3267)
         lu(k,3278) = lu(k,3278) - lu(k,2312) * lu(k,3267)
         lu(k,3279) = lu(k,3279) - lu(k,2313) * lu(k,3267)
         lu(k,3280) = lu(k,3280) - lu(k,2314) * lu(k,3267)
         lu(k,3281) = lu(k,3281) - lu(k,2315) * lu(k,3267)
         lu(k,3283) = lu(k,3283) - lu(k,2316) * lu(k,3267)
         lu(k,3285) = lu(k,3285) - lu(k,2317) * lu(k,3267)
         lu(k,3287) = lu(k,3287) - lu(k,2318) * lu(k,3267)
         lu(k,3288) = lu(k,3288) - lu(k,2319) * lu(k,3267)
         lu(k,3290) = lu(k,3290) - lu(k,2320) * lu(k,3267)
         lu(k,3291) = lu(k,3291) - lu(k,2321) * lu(k,3267)
         lu(k,3295) = lu(k,3295) - lu(k,2322) * lu(k,3267)
         lu(k,3409) = lu(k,3409) - lu(k,2304) * lu(k,3408)
         lu(k,3412) = lu(k,3412) - lu(k,2305) * lu(k,3408)
         lu(k,3413) = lu(k,3413) - lu(k,2306) * lu(k,3408)
         lu(k,3414) = lu(k,3414) - lu(k,2307) * lu(k,3408)
         lu(k,3415) = lu(k,3415) - lu(k,2308) * lu(k,3408)
         lu(k,3416) = lu(k,3416) - lu(k,2309) * lu(k,3408)
         lu(k,3417) = lu(k,3417) - lu(k,2310) * lu(k,3408)
         lu(k,3418) = lu(k,3418) - lu(k,2311) * lu(k,3408)
         lu(k,3419) = lu(k,3419) - lu(k,2312) * lu(k,3408)
         lu(k,3420) = lu(k,3420) - lu(k,2313) * lu(k,3408)
         lu(k,3421) = lu(k,3421) - lu(k,2314) * lu(k,3408)
         lu(k,3422) = lu(k,3422) - lu(k,2315) * lu(k,3408)
         lu(k,3424) = lu(k,3424) - lu(k,2316) * lu(k,3408)
         lu(k,3426) = lu(k,3426) - lu(k,2317) * lu(k,3408)
         lu(k,3428) = lu(k,3428) - lu(k,2318) * lu(k,3408)
         lu(k,3429) = lu(k,3429) - lu(k,2319) * lu(k,3408)
         lu(k,3431) = lu(k,3431) - lu(k,2320) * lu(k,3408)
         lu(k,3432) = lu(k,3432) - lu(k,2321) * lu(k,3408)
         lu(k,3436) = lu(k,3436) - lu(k,2322) * lu(k,3408)
         lu(k,3729) = lu(k,3729) - lu(k,2304) * lu(k,3728)
         lu(k,3732) = lu(k,3732) - lu(k,2305) * lu(k,3728)
         lu(k,3733) = lu(k,3733) - lu(k,2306) * lu(k,3728)
         lu(k,3734) = lu(k,3734) - lu(k,2307) * lu(k,3728)
         lu(k,3735) = lu(k,3735) - lu(k,2308) * lu(k,3728)
         lu(k,3736) = lu(k,3736) - lu(k,2309) * lu(k,3728)
         lu(k,3737) = lu(k,3737) - lu(k,2310) * lu(k,3728)
         lu(k,3738) = lu(k,3738) - lu(k,2311) * lu(k,3728)
         lu(k,3739) = lu(k,3739) - lu(k,2312) * lu(k,3728)
         lu(k,3740) = lu(k,3740) - lu(k,2313) * lu(k,3728)
         lu(k,3741) = lu(k,3741) - lu(k,2314) * lu(k,3728)
         lu(k,3742) = lu(k,3742) - lu(k,2315) * lu(k,3728)
         lu(k,3744) = lu(k,3744) - lu(k,2316) * lu(k,3728)
         lu(k,3746) = lu(k,3746) - lu(k,2317) * lu(k,3728)
         lu(k,3748) = lu(k,3748) - lu(k,2318) * lu(k,3728)
         lu(k,3749) = lu(k,3749) - lu(k,2319) * lu(k,3728)
         lu(k,3751) = lu(k,3751) - lu(k,2320) * lu(k,3728)
         lu(k,3752) = lu(k,3752) - lu(k,2321) * lu(k,3728)
         lu(k,3756) = lu(k,3756) - lu(k,2322) * lu(k,3728)
         lu(k,2332) = 1._r8 / lu(k,2332)
         lu(k,2333) = lu(k,2333) * lu(k,2332)
         lu(k,2334) = lu(k,2334) * lu(k,2332)
         lu(k,2335) = lu(k,2335) * lu(k,2332)
         lu(k,2336) = lu(k,2336) * lu(k,2332)
         lu(k,2337) = lu(k,2337) * lu(k,2332)
         lu(k,2338) = lu(k,2338) * lu(k,2332)
         lu(k,2339) = lu(k,2339) * lu(k,2332)
         lu(k,2340) = lu(k,2340) * lu(k,2332)
         lu(k,2341) = lu(k,2341) * lu(k,2332)
         lu(k,2342) = lu(k,2342) * lu(k,2332)
         lu(k,2343) = lu(k,2343) * lu(k,2332)
         lu(k,2344) = lu(k,2344) * lu(k,2332)
         lu(k,2345) = lu(k,2345) * lu(k,2332)
         lu(k,2346) = lu(k,2346) * lu(k,2332)
         lu(k,2347) = lu(k,2347) * lu(k,2332)
         lu(k,2348) = lu(k,2348) * lu(k,2332)
         lu(k,2349) = lu(k,2349) * lu(k,2332)
         lu(k,2367) = lu(k,2367) - lu(k,2333) * lu(k,2363)
         lu(k,2368) = lu(k,2368) - lu(k,2334) * lu(k,2363)
         lu(k,2369) = lu(k,2369) - lu(k,2335) * lu(k,2363)
         lu(k,2370) = lu(k,2370) - lu(k,2336) * lu(k,2363)
         lu(k,2371) = lu(k,2371) - lu(k,2337) * lu(k,2363)
         lu(k,2372) = lu(k,2372) - lu(k,2338) * lu(k,2363)
         lu(k,2373) = lu(k,2373) - lu(k,2339) * lu(k,2363)
         lu(k,2374) = lu(k,2374) - lu(k,2340) * lu(k,2363)
         lu(k,2375) = lu(k,2375) - lu(k,2341) * lu(k,2363)
         lu(k,2376) = lu(k,2376) - lu(k,2342) * lu(k,2363)
         lu(k,2377) = lu(k,2377) - lu(k,2343) * lu(k,2363)
         lu(k,2378) = lu(k,2378) - lu(k,2344) * lu(k,2363)
         lu(k,2379) = lu(k,2379) - lu(k,2345) * lu(k,2363)
         lu(k,2380) = lu(k,2380) - lu(k,2346) * lu(k,2363)
         lu(k,2381) = lu(k,2381) - lu(k,2347) * lu(k,2363)
         lu(k,2382) = lu(k,2382) - lu(k,2348) * lu(k,2363)
         lu(k,2383) = lu(k,2383) - lu(k,2349) * lu(k,2363)
         lu(k,2529) = lu(k,2529) - lu(k,2333) * lu(k,2525)
         lu(k,2530) = lu(k,2530) - lu(k,2334) * lu(k,2525)
         lu(k,2531) = lu(k,2531) - lu(k,2335) * lu(k,2525)
         lu(k,2532) = lu(k,2532) - lu(k,2336) * lu(k,2525)
         lu(k,2533) = lu(k,2533) - lu(k,2337) * lu(k,2525)
         lu(k,2534) = lu(k,2534) - lu(k,2338) * lu(k,2525)
         lu(k,2535) = lu(k,2535) - lu(k,2339) * lu(k,2525)
         lu(k,2536) = lu(k,2536) - lu(k,2340) * lu(k,2525)
         lu(k,2537) = lu(k,2537) - lu(k,2341) * lu(k,2525)
         lu(k,2538) = lu(k,2538) - lu(k,2342) * lu(k,2525)
         lu(k,2540) = lu(k,2540) - lu(k,2343) * lu(k,2525)
         lu(k,2541) = lu(k,2541) - lu(k,2344) * lu(k,2525)
         lu(k,2542) = lu(k,2542) - lu(k,2345) * lu(k,2525)
         lu(k,2543) = lu(k,2543) - lu(k,2346) * lu(k,2525)
         lu(k,2545) = lu(k,2545) - lu(k,2347) * lu(k,2525)
         lu(k,2546) = lu(k,2546) - lu(k,2348) * lu(k,2525)
         lu(k,2549) = lu(k,2549) - lu(k,2349) * lu(k,2525)
         lu(k,2575) = lu(k,2575) - lu(k,2333) * lu(k,2571)
         lu(k,2576) = lu(k,2576) - lu(k,2334) * lu(k,2571)
         lu(k,2577) = lu(k,2577) - lu(k,2335) * lu(k,2571)
         lu(k,2578) = lu(k,2578) - lu(k,2336) * lu(k,2571)
         lu(k,2579) = lu(k,2579) - lu(k,2337) * lu(k,2571)
         lu(k,2580) = lu(k,2580) - lu(k,2338) * lu(k,2571)
         lu(k,2581) = lu(k,2581) - lu(k,2339) * lu(k,2571)
         lu(k,2582) = lu(k,2582) - lu(k,2340) * lu(k,2571)
         lu(k,2583) = lu(k,2583) - lu(k,2341) * lu(k,2571)
         lu(k,2584) = lu(k,2584) - lu(k,2342) * lu(k,2571)
         lu(k,2586) = lu(k,2586) - lu(k,2343) * lu(k,2571)
         lu(k,2587) = lu(k,2587) - lu(k,2344) * lu(k,2571)
         lu(k,2588) = lu(k,2588) - lu(k,2345) * lu(k,2571)
         lu(k,2589) = lu(k,2589) - lu(k,2346) * lu(k,2571)
         lu(k,2591) = lu(k,2591) - lu(k,2347) * lu(k,2571)
         lu(k,2592) = lu(k,2592) - lu(k,2348) * lu(k,2571)
         lu(k,2595) = lu(k,2595) - lu(k,2349) * lu(k,2571)
         lu(k,2622) = lu(k,2622) - lu(k,2333) * lu(k,2618)
         lu(k,2623) = lu(k,2623) - lu(k,2334) * lu(k,2618)
         lu(k,2624) = lu(k,2624) - lu(k,2335) * lu(k,2618)
         lu(k,2625) = lu(k,2625) - lu(k,2336) * lu(k,2618)
         lu(k,2626) = lu(k,2626) - lu(k,2337) * lu(k,2618)
         lu(k,2627) = lu(k,2627) - lu(k,2338) * lu(k,2618)
         lu(k,2628) = lu(k,2628) - lu(k,2339) * lu(k,2618)
         lu(k,2629) = lu(k,2629) - lu(k,2340) * lu(k,2618)
         lu(k,2630) = lu(k,2630) - lu(k,2341) * lu(k,2618)
         lu(k,2631) = lu(k,2631) - lu(k,2342) * lu(k,2618)
         lu(k,2633) = lu(k,2633) - lu(k,2343) * lu(k,2618)
         lu(k,2634) = lu(k,2634) - lu(k,2344) * lu(k,2618)
         lu(k,2635) = lu(k,2635) - lu(k,2345) * lu(k,2618)
         lu(k,2636) = lu(k,2636) - lu(k,2346) * lu(k,2618)
         lu(k,2638) = lu(k,2638) - lu(k,2347) * lu(k,2618)
         lu(k,2639) = lu(k,2639) - lu(k,2348) * lu(k,2618)
         lu(k,2642) = lu(k,2642) - lu(k,2349) * lu(k,2618)
         lu(k,2693) = lu(k,2693) - lu(k,2333) * lu(k,2689)
         lu(k,2694) = lu(k,2694) - lu(k,2334) * lu(k,2689)
         lu(k,2695) = lu(k,2695) - lu(k,2335) * lu(k,2689)
         lu(k,2696) = lu(k,2696) - lu(k,2336) * lu(k,2689)
         lu(k,2697) = lu(k,2697) - lu(k,2337) * lu(k,2689)
         lu(k,2698) = lu(k,2698) - lu(k,2338) * lu(k,2689)
         lu(k,2699) = lu(k,2699) - lu(k,2339) * lu(k,2689)
         lu(k,2700) = lu(k,2700) - lu(k,2340) * lu(k,2689)
         lu(k,2701) = lu(k,2701) - lu(k,2341) * lu(k,2689)
         lu(k,2702) = lu(k,2702) - lu(k,2342) * lu(k,2689)
         lu(k,2704) = lu(k,2704) - lu(k,2343) * lu(k,2689)
         lu(k,2705) = lu(k,2705) - lu(k,2344) * lu(k,2689)
         lu(k,2706) = lu(k,2706) - lu(k,2345) * lu(k,2689)
         lu(k,2707) = lu(k,2707) - lu(k,2346) * lu(k,2689)
         lu(k,2709) = lu(k,2709) - lu(k,2347) * lu(k,2689)
         lu(k,2710) = lu(k,2710) - lu(k,2348) * lu(k,2689)
         lu(k,2713) = lu(k,2713) - lu(k,2349) * lu(k,2689)
         lu(k,2876) = lu(k,2876) - lu(k,2333) * lu(k,2872)
         lu(k,2877) = lu(k,2877) - lu(k,2334) * lu(k,2872)
         lu(k,2878) = lu(k,2878) - lu(k,2335) * lu(k,2872)
         lu(k,2879) = lu(k,2879) - lu(k,2336) * lu(k,2872)
         lu(k,2880) = lu(k,2880) - lu(k,2337) * lu(k,2872)
         lu(k,2881) = lu(k,2881) - lu(k,2338) * lu(k,2872)
         lu(k,2882) = lu(k,2882) - lu(k,2339) * lu(k,2872)
         lu(k,2883) = lu(k,2883) - lu(k,2340) * lu(k,2872)
         lu(k,2884) = lu(k,2884) - lu(k,2341) * lu(k,2872)
         lu(k,2885) = lu(k,2885) - lu(k,2342) * lu(k,2872)
         lu(k,2887) = lu(k,2887) - lu(k,2343) * lu(k,2872)
         lu(k,2889) = lu(k,2889) - lu(k,2344) * lu(k,2872)
         lu(k,2891) = lu(k,2891) - lu(k,2345) * lu(k,2872)
         lu(k,2892) = lu(k,2892) - lu(k,2346) * lu(k,2872)
         lu(k,2894) = lu(k,2894) - lu(k,2347) * lu(k,2872)
         lu(k,2895) = lu(k,2895) - lu(k,2348) * lu(k,2872)
         lu(k,2899) = lu(k,2899) - lu(k,2349) * lu(k,2872)
         lu(k,2977) = lu(k,2977) - lu(k,2333) * lu(k,2973)
         lu(k,2978) = lu(k,2978) - lu(k,2334) * lu(k,2973)
         lu(k,2979) = lu(k,2979) - lu(k,2335) * lu(k,2973)
         lu(k,2980) = lu(k,2980) - lu(k,2336) * lu(k,2973)
         lu(k,2981) = lu(k,2981) - lu(k,2337) * lu(k,2973)
         lu(k,2982) = lu(k,2982) - lu(k,2338) * lu(k,2973)
         lu(k,2983) = lu(k,2983) - lu(k,2339) * lu(k,2973)
         lu(k,2984) = lu(k,2984) - lu(k,2340) * lu(k,2973)
         lu(k,2985) = lu(k,2985) - lu(k,2341) * lu(k,2973)
         lu(k,2986) = lu(k,2986) - lu(k,2342) * lu(k,2973)
         lu(k,2988) = lu(k,2988) - lu(k,2343) * lu(k,2973)
         lu(k,2990) = lu(k,2990) - lu(k,2344) * lu(k,2973)
         lu(k,2992) = lu(k,2992) - lu(k,2345) * lu(k,2973)
         lu(k,2993) = lu(k,2993) - lu(k,2346) * lu(k,2973)
         lu(k,2995) = lu(k,2995) - lu(k,2347) * lu(k,2973)
         lu(k,2996) = lu(k,2996) - lu(k,2348) * lu(k,2973)
         lu(k,3000) = lu(k,3000) - lu(k,2349) * lu(k,2973)
         lu(k,3069) = lu(k,3069) - lu(k,2333) * lu(k,3065)
         lu(k,3070) = lu(k,3070) - lu(k,2334) * lu(k,3065)
         lu(k,3071) = lu(k,3071) - lu(k,2335) * lu(k,3065)
         lu(k,3072) = lu(k,3072) - lu(k,2336) * lu(k,3065)
         lu(k,3073) = lu(k,3073) - lu(k,2337) * lu(k,3065)
         lu(k,3074) = lu(k,3074) - lu(k,2338) * lu(k,3065)
         lu(k,3075) = lu(k,3075) - lu(k,2339) * lu(k,3065)
         lu(k,3076) = lu(k,3076) - lu(k,2340) * lu(k,3065)
         lu(k,3077) = lu(k,3077) - lu(k,2341) * lu(k,3065)
         lu(k,3078) = lu(k,3078) - lu(k,2342) * lu(k,3065)
         lu(k,3080) = lu(k,3080) - lu(k,2343) * lu(k,3065)
         lu(k,3082) = lu(k,3082) - lu(k,2344) * lu(k,3065)
         lu(k,3084) = lu(k,3084) - lu(k,2345) * lu(k,3065)
         lu(k,3085) = lu(k,3085) - lu(k,2346) * lu(k,3065)
         lu(k,3087) = lu(k,3087) - lu(k,2347) * lu(k,3065)
         lu(k,3088) = lu(k,3088) - lu(k,2348) * lu(k,3065)
         lu(k,3092) = lu(k,3092) - lu(k,2349) * lu(k,3065)
         lu(k,3272) = lu(k,3272) - lu(k,2333) * lu(k,3268)
         lu(k,3273) = lu(k,3273) - lu(k,2334) * lu(k,3268)
         lu(k,3274) = lu(k,3274) - lu(k,2335) * lu(k,3268)
         lu(k,3275) = lu(k,3275) - lu(k,2336) * lu(k,3268)
         lu(k,3276) = lu(k,3276) - lu(k,2337) * lu(k,3268)
         lu(k,3277) = lu(k,3277) - lu(k,2338) * lu(k,3268)
         lu(k,3278) = lu(k,3278) - lu(k,2339) * lu(k,3268)
         lu(k,3279) = lu(k,3279) - lu(k,2340) * lu(k,3268)
         lu(k,3280) = lu(k,3280) - lu(k,2341) * lu(k,3268)
         lu(k,3281) = lu(k,3281) - lu(k,2342) * lu(k,3268)
         lu(k,3283) = lu(k,3283) - lu(k,2343) * lu(k,3268)
         lu(k,3285) = lu(k,3285) - lu(k,2344) * lu(k,3268)
         lu(k,3287) = lu(k,3287) - lu(k,2345) * lu(k,3268)
         lu(k,3288) = lu(k,3288) - lu(k,2346) * lu(k,3268)
         lu(k,3290) = lu(k,3290) - lu(k,2347) * lu(k,3268)
         lu(k,3291) = lu(k,3291) - lu(k,2348) * lu(k,3268)
         lu(k,3295) = lu(k,3295) - lu(k,2349) * lu(k,3268)
         lu(k,3413) = lu(k,3413) - lu(k,2333) * lu(k,3409)
         lu(k,3414) = lu(k,3414) - lu(k,2334) * lu(k,3409)
         lu(k,3415) = lu(k,3415) - lu(k,2335) * lu(k,3409)
         lu(k,3416) = lu(k,3416) - lu(k,2336) * lu(k,3409)
         lu(k,3417) = lu(k,3417) - lu(k,2337) * lu(k,3409)
         lu(k,3418) = lu(k,3418) - lu(k,2338) * lu(k,3409)
         lu(k,3419) = lu(k,3419) - lu(k,2339) * lu(k,3409)
         lu(k,3420) = lu(k,3420) - lu(k,2340) * lu(k,3409)
         lu(k,3421) = lu(k,3421) - lu(k,2341) * lu(k,3409)
         lu(k,3422) = lu(k,3422) - lu(k,2342) * lu(k,3409)
         lu(k,3424) = lu(k,3424) - lu(k,2343) * lu(k,3409)
         lu(k,3426) = lu(k,3426) - lu(k,2344) * lu(k,3409)
         lu(k,3428) = lu(k,3428) - lu(k,2345) * lu(k,3409)
         lu(k,3429) = lu(k,3429) - lu(k,2346) * lu(k,3409)
         lu(k,3431) = lu(k,3431) - lu(k,2347) * lu(k,3409)
         lu(k,3432) = lu(k,3432) - lu(k,2348) * lu(k,3409)
         lu(k,3436) = lu(k,3436) - lu(k,2349) * lu(k,3409)
         lu(k,3733) = lu(k,3733) - lu(k,2333) * lu(k,3729)
         lu(k,3734) = lu(k,3734) - lu(k,2334) * lu(k,3729)
         lu(k,3735) = lu(k,3735) - lu(k,2335) * lu(k,3729)
         lu(k,3736) = lu(k,3736) - lu(k,2336) * lu(k,3729)
         lu(k,3737) = lu(k,3737) - lu(k,2337) * lu(k,3729)
         lu(k,3738) = lu(k,3738) - lu(k,2338) * lu(k,3729)
         lu(k,3739) = lu(k,3739) - lu(k,2339) * lu(k,3729)
         lu(k,3740) = lu(k,3740) - lu(k,2340) * lu(k,3729)
         lu(k,3741) = lu(k,3741) - lu(k,2341) * lu(k,3729)
         lu(k,3742) = lu(k,3742) - lu(k,2342) * lu(k,3729)
         lu(k,3744) = lu(k,3744) - lu(k,2343) * lu(k,3729)
         lu(k,3746) = lu(k,3746) - lu(k,2344) * lu(k,3729)
         lu(k,3748) = lu(k,3748) - lu(k,2345) * lu(k,3729)
         lu(k,3749) = lu(k,3749) - lu(k,2346) * lu(k,3729)
         lu(k,3751) = lu(k,3751) - lu(k,2347) * lu(k,3729)
         lu(k,3752) = lu(k,3752) - lu(k,2348) * lu(k,3729)
         lu(k,3756) = lu(k,3756) - lu(k,2349) * lu(k,3729)
         lu(k,2364) = 1._r8 / lu(k,2364)
         lu(k,2365) = lu(k,2365) * lu(k,2364)
         lu(k,2366) = lu(k,2366) * lu(k,2364)
         lu(k,2367) = lu(k,2367) * lu(k,2364)
         lu(k,2368) = lu(k,2368) * lu(k,2364)
         lu(k,2369) = lu(k,2369) * lu(k,2364)
         lu(k,2370) = lu(k,2370) * lu(k,2364)
         lu(k,2371) = lu(k,2371) * lu(k,2364)
         lu(k,2372) = lu(k,2372) * lu(k,2364)
         lu(k,2373) = lu(k,2373) * lu(k,2364)
         lu(k,2374) = lu(k,2374) * lu(k,2364)
         lu(k,2375) = lu(k,2375) * lu(k,2364)
         lu(k,2376) = lu(k,2376) * lu(k,2364)
         lu(k,2377) = lu(k,2377) * lu(k,2364)
         lu(k,2378) = lu(k,2378) * lu(k,2364)
         lu(k,2379) = lu(k,2379) * lu(k,2364)
         lu(k,2380) = lu(k,2380) * lu(k,2364)
         lu(k,2381) = lu(k,2381) * lu(k,2364)
         lu(k,2382) = lu(k,2382) * lu(k,2364)
         lu(k,2383) = lu(k,2383) * lu(k,2364)
         lu(k,2527) = lu(k,2527) - lu(k,2365) * lu(k,2526)
         lu(k,2528) = lu(k,2528) - lu(k,2366) * lu(k,2526)
         lu(k,2529) = lu(k,2529) - lu(k,2367) * lu(k,2526)
         lu(k,2530) = lu(k,2530) - lu(k,2368) * lu(k,2526)
         lu(k,2531) = lu(k,2531) - lu(k,2369) * lu(k,2526)
         lu(k,2532) = lu(k,2532) - lu(k,2370) * lu(k,2526)
         lu(k,2533) = lu(k,2533) - lu(k,2371) * lu(k,2526)
         lu(k,2534) = lu(k,2534) - lu(k,2372) * lu(k,2526)
         lu(k,2535) = lu(k,2535) - lu(k,2373) * lu(k,2526)
         lu(k,2536) = lu(k,2536) - lu(k,2374) * lu(k,2526)
         lu(k,2537) = lu(k,2537) - lu(k,2375) * lu(k,2526)
         lu(k,2538) = lu(k,2538) - lu(k,2376) * lu(k,2526)
         lu(k,2540) = lu(k,2540) - lu(k,2377) * lu(k,2526)
         lu(k,2541) = lu(k,2541) - lu(k,2378) * lu(k,2526)
         lu(k,2542) = lu(k,2542) - lu(k,2379) * lu(k,2526)
         lu(k,2543) = lu(k,2543) - lu(k,2380) * lu(k,2526)
         lu(k,2545) = lu(k,2545) - lu(k,2381) * lu(k,2526)
         lu(k,2546) = lu(k,2546) - lu(k,2382) * lu(k,2526)
         lu(k,2549) = lu(k,2549) - lu(k,2383) * lu(k,2526)
         lu(k,2573) = lu(k,2573) - lu(k,2365) * lu(k,2572)
         lu(k,2574) = lu(k,2574) - lu(k,2366) * lu(k,2572)
         lu(k,2575) = lu(k,2575) - lu(k,2367) * lu(k,2572)
         lu(k,2576) = lu(k,2576) - lu(k,2368) * lu(k,2572)
         lu(k,2577) = lu(k,2577) - lu(k,2369) * lu(k,2572)
         lu(k,2578) = lu(k,2578) - lu(k,2370) * lu(k,2572)
         lu(k,2579) = lu(k,2579) - lu(k,2371) * lu(k,2572)
         lu(k,2580) = lu(k,2580) - lu(k,2372) * lu(k,2572)
         lu(k,2581) = lu(k,2581) - lu(k,2373) * lu(k,2572)
         lu(k,2582) = lu(k,2582) - lu(k,2374) * lu(k,2572)
         lu(k,2583) = lu(k,2583) - lu(k,2375) * lu(k,2572)
         lu(k,2584) = lu(k,2584) - lu(k,2376) * lu(k,2572)
         lu(k,2586) = lu(k,2586) - lu(k,2377) * lu(k,2572)
         lu(k,2587) = lu(k,2587) - lu(k,2378) * lu(k,2572)
         lu(k,2588) = lu(k,2588) - lu(k,2379) * lu(k,2572)
         lu(k,2589) = lu(k,2589) - lu(k,2380) * lu(k,2572)
         lu(k,2591) = lu(k,2591) - lu(k,2381) * lu(k,2572)
         lu(k,2592) = lu(k,2592) - lu(k,2382) * lu(k,2572)
         lu(k,2595) = lu(k,2595) - lu(k,2383) * lu(k,2572)
         lu(k,2620) = lu(k,2620) - lu(k,2365) * lu(k,2619)
         lu(k,2621) = lu(k,2621) - lu(k,2366) * lu(k,2619)
         lu(k,2622) = lu(k,2622) - lu(k,2367) * lu(k,2619)
         lu(k,2623) = lu(k,2623) - lu(k,2368) * lu(k,2619)
         lu(k,2624) = lu(k,2624) - lu(k,2369) * lu(k,2619)
         lu(k,2625) = lu(k,2625) - lu(k,2370) * lu(k,2619)
         lu(k,2626) = lu(k,2626) - lu(k,2371) * lu(k,2619)
         lu(k,2627) = lu(k,2627) - lu(k,2372) * lu(k,2619)
         lu(k,2628) = lu(k,2628) - lu(k,2373) * lu(k,2619)
         lu(k,2629) = lu(k,2629) - lu(k,2374) * lu(k,2619)
         lu(k,2630) = lu(k,2630) - lu(k,2375) * lu(k,2619)
         lu(k,2631) = lu(k,2631) - lu(k,2376) * lu(k,2619)
         lu(k,2633) = lu(k,2633) - lu(k,2377) * lu(k,2619)
         lu(k,2634) = lu(k,2634) - lu(k,2378) * lu(k,2619)
         lu(k,2635) = lu(k,2635) - lu(k,2379) * lu(k,2619)
         lu(k,2636) = lu(k,2636) - lu(k,2380) * lu(k,2619)
         lu(k,2638) = lu(k,2638) - lu(k,2381) * lu(k,2619)
         lu(k,2639) = lu(k,2639) - lu(k,2382) * lu(k,2619)
         lu(k,2642) = lu(k,2642) - lu(k,2383) * lu(k,2619)
         lu(k,2691) = lu(k,2691) - lu(k,2365) * lu(k,2690)
         lu(k,2692) = lu(k,2692) - lu(k,2366) * lu(k,2690)
         lu(k,2693) = lu(k,2693) - lu(k,2367) * lu(k,2690)
         lu(k,2694) = lu(k,2694) - lu(k,2368) * lu(k,2690)
         lu(k,2695) = lu(k,2695) - lu(k,2369) * lu(k,2690)
         lu(k,2696) = lu(k,2696) - lu(k,2370) * lu(k,2690)
         lu(k,2697) = lu(k,2697) - lu(k,2371) * lu(k,2690)
         lu(k,2698) = lu(k,2698) - lu(k,2372) * lu(k,2690)
         lu(k,2699) = lu(k,2699) - lu(k,2373) * lu(k,2690)
         lu(k,2700) = lu(k,2700) - lu(k,2374) * lu(k,2690)
         lu(k,2701) = lu(k,2701) - lu(k,2375) * lu(k,2690)
         lu(k,2702) = lu(k,2702) - lu(k,2376) * lu(k,2690)
         lu(k,2704) = lu(k,2704) - lu(k,2377) * lu(k,2690)
         lu(k,2705) = lu(k,2705) - lu(k,2378) * lu(k,2690)
         lu(k,2706) = lu(k,2706) - lu(k,2379) * lu(k,2690)
         lu(k,2707) = lu(k,2707) - lu(k,2380) * lu(k,2690)
         lu(k,2709) = lu(k,2709) - lu(k,2381) * lu(k,2690)
         lu(k,2710) = lu(k,2710) - lu(k,2382) * lu(k,2690)
         lu(k,2713) = lu(k,2713) - lu(k,2383) * lu(k,2690)
         lu(k,2874) = lu(k,2874) - lu(k,2365) * lu(k,2873)
         lu(k,2875) = lu(k,2875) - lu(k,2366) * lu(k,2873)
         lu(k,2876) = lu(k,2876) - lu(k,2367) * lu(k,2873)
         lu(k,2877) = lu(k,2877) - lu(k,2368) * lu(k,2873)
         lu(k,2878) = lu(k,2878) - lu(k,2369) * lu(k,2873)
         lu(k,2879) = lu(k,2879) - lu(k,2370) * lu(k,2873)
         lu(k,2880) = lu(k,2880) - lu(k,2371) * lu(k,2873)
         lu(k,2881) = lu(k,2881) - lu(k,2372) * lu(k,2873)
         lu(k,2882) = lu(k,2882) - lu(k,2373) * lu(k,2873)
         lu(k,2883) = lu(k,2883) - lu(k,2374) * lu(k,2873)
         lu(k,2884) = lu(k,2884) - lu(k,2375) * lu(k,2873)
         lu(k,2885) = lu(k,2885) - lu(k,2376) * lu(k,2873)
         lu(k,2887) = lu(k,2887) - lu(k,2377) * lu(k,2873)
         lu(k,2889) = lu(k,2889) - lu(k,2378) * lu(k,2873)
         lu(k,2891) = lu(k,2891) - lu(k,2379) * lu(k,2873)
         lu(k,2892) = lu(k,2892) - lu(k,2380) * lu(k,2873)
         lu(k,2894) = lu(k,2894) - lu(k,2381) * lu(k,2873)
         lu(k,2895) = lu(k,2895) - lu(k,2382) * lu(k,2873)
         lu(k,2899) = lu(k,2899) - lu(k,2383) * lu(k,2873)
         lu(k,2975) = lu(k,2975) - lu(k,2365) * lu(k,2974)
         lu(k,2976) = lu(k,2976) - lu(k,2366) * lu(k,2974)
         lu(k,2977) = lu(k,2977) - lu(k,2367) * lu(k,2974)
         lu(k,2978) = lu(k,2978) - lu(k,2368) * lu(k,2974)
         lu(k,2979) = lu(k,2979) - lu(k,2369) * lu(k,2974)
         lu(k,2980) = lu(k,2980) - lu(k,2370) * lu(k,2974)
         lu(k,2981) = lu(k,2981) - lu(k,2371) * lu(k,2974)
         lu(k,2982) = lu(k,2982) - lu(k,2372) * lu(k,2974)
         lu(k,2983) = lu(k,2983) - lu(k,2373) * lu(k,2974)
         lu(k,2984) = lu(k,2984) - lu(k,2374) * lu(k,2974)
         lu(k,2985) = lu(k,2985) - lu(k,2375) * lu(k,2974)
         lu(k,2986) = lu(k,2986) - lu(k,2376) * lu(k,2974)
         lu(k,2988) = lu(k,2988) - lu(k,2377) * lu(k,2974)
         lu(k,2990) = lu(k,2990) - lu(k,2378) * lu(k,2974)
         lu(k,2992) = lu(k,2992) - lu(k,2379) * lu(k,2974)
         lu(k,2993) = lu(k,2993) - lu(k,2380) * lu(k,2974)
         lu(k,2995) = lu(k,2995) - lu(k,2381) * lu(k,2974)
         lu(k,2996) = lu(k,2996) - lu(k,2382) * lu(k,2974)
         lu(k,3000) = lu(k,3000) - lu(k,2383) * lu(k,2974)
         lu(k,3067) = lu(k,3067) - lu(k,2365) * lu(k,3066)
         lu(k,3068) = lu(k,3068) - lu(k,2366) * lu(k,3066)
         lu(k,3069) = lu(k,3069) - lu(k,2367) * lu(k,3066)
         lu(k,3070) = lu(k,3070) - lu(k,2368) * lu(k,3066)
         lu(k,3071) = lu(k,3071) - lu(k,2369) * lu(k,3066)
         lu(k,3072) = lu(k,3072) - lu(k,2370) * lu(k,3066)
         lu(k,3073) = lu(k,3073) - lu(k,2371) * lu(k,3066)
         lu(k,3074) = lu(k,3074) - lu(k,2372) * lu(k,3066)
         lu(k,3075) = lu(k,3075) - lu(k,2373) * lu(k,3066)
         lu(k,3076) = lu(k,3076) - lu(k,2374) * lu(k,3066)
         lu(k,3077) = lu(k,3077) - lu(k,2375) * lu(k,3066)
         lu(k,3078) = lu(k,3078) - lu(k,2376) * lu(k,3066)
         lu(k,3080) = lu(k,3080) - lu(k,2377) * lu(k,3066)
         lu(k,3082) = lu(k,3082) - lu(k,2378) * lu(k,3066)
         lu(k,3084) = lu(k,3084) - lu(k,2379) * lu(k,3066)
         lu(k,3085) = lu(k,3085) - lu(k,2380) * lu(k,3066)
         lu(k,3087) = lu(k,3087) - lu(k,2381) * lu(k,3066)
         lu(k,3088) = lu(k,3088) - lu(k,2382) * lu(k,3066)
         lu(k,3092) = lu(k,3092) - lu(k,2383) * lu(k,3066)
         lu(k,3270) = lu(k,3270) - lu(k,2365) * lu(k,3269)
         lu(k,3271) = lu(k,3271) - lu(k,2366) * lu(k,3269)
         lu(k,3272) = lu(k,3272) - lu(k,2367) * lu(k,3269)
         lu(k,3273) = lu(k,3273) - lu(k,2368) * lu(k,3269)
         lu(k,3274) = lu(k,3274) - lu(k,2369) * lu(k,3269)
         lu(k,3275) = lu(k,3275) - lu(k,2370) * lu(k,3269)
         lu(k,3276) = lu(k,3276) - lu(k,2371) * lu(k,3269)
         lu(k,3277) = lu(k,3277) - lu(k,2372) * lu(k,3269)
         lu(k,3278) = lu(k,3278) - lu(k,2373) * lu(k,3269)
         lu(k,3279) = lu(k,3279) - lu(k,2374) * lu(k,3269)
         lu(k,3280) = lu(k,3280) - lu(k,2375) * lu(k,3269)
         lu(k,3281) = lu(k,3281) - lu(k,2376) * lu(k,3269)
         lu(k,3283) = lu(k,3283) - lu(k,2377) * lu(k,3269)
         lu(k,3285) = lu(k,3285) - lu(k,2378) * lu(k,3269)
         lu(k,3287) = lu(k,3287) - lu(k,2379) * lu(k,3269)
         lu(k,3288) = lu(k,3288) - lu(k,2380) * lu(k,3269)
         lu(k,3290) = lu(k,3290) - lu(k,2381) * lu(k,3269)
         lu(k,3291) = lu(k,3291) - lu(k,2382) * lu(k,3269)
         lu(k,3295) = lu(k,3295) - lu(k,2383) * lu(k,3269)
         lu(k,3411) = lu(k,3411) - lu(k,2365) * lu(k,3410)
         lu(k,3412) = lu(k,3412) - lu(k,2366) * lu(k,3410)
         lu(k,3413) = lu(k,3413) - lu(k,2367) * lu(k,3410)
         lu(k,3414) = lu(k,3414) - lu(k,2368) * lu(k,3410)
         lu(k,3415) = lu(k,3415) - lu(k,2369) * lu(k,3410)
         lu(k,3416) = lu(k,3416) - lu(k,2370) * lu(k,3410)
         lu(k,3417) = lu(k,3417) - lu(k,2371) * lu(k,3410)
         lu(k,3418) = lu(k,3418) - lu(k,2372) * lu(k,3410)
         lu(k,3419) = lu(k,3419) - lu(k,2373) * lu(k,3410)
         lu(k,3420) = lu(k,3420) - lu(k,2374) * lu(k,3410)
         lu(k,3421) = lu(k,3421) - lu(k,2375) * lu(k,3410)
         lu(k,3422) = lu(k,3422) - lu(k,2376) * lu(k,3410)
         lu(k,3424) = lu(k,3424) - lu(k,2377) * lu(k,3410)
         lu(k,3426) = lu(k,3426) - lu(k,2378) * lu(k,3410)
         lu(k,3428) = lu(k,3428) - lu(k,2379) * lu(k,3410)
         lu(k,3429) = lu(k,3429) - lu(k,2380) * lu(k,3410)
         lu(k,3431) = lu(k,3431) - lu(k,2381) * lu(k,3410)
         lu(k,3432) = lu(k,3432) - lu(k,2382) * lu(k,3410)
         lu(k,3436) = lu(k,3436) - lu(k,2383) * lu(k,3410)
         lu(k,3731) = lu(k,3731) - lu(k,2365) * lu(k,3730)
         lu(k,3732) = lu(k,3732) - lu(k,2366) * lu(k,3730)
         lu(k,3733) = lu(k,3733) - lu(k,2367) * lu(k,3730)
         lu(k,3734) = lu(k,3734) - lu(k,2368) * lu(k,3730)
         lu(k,3735) = lu(k,3735) - lu(k,2369) * lu(k,3730)
         lu(k,3736) = lu(k,3736) - lu(k,2370) * lu(k,3730)
         lu(k,3737) = lu(k,3737) - lu(k,2371) * lu(k,3730)
         lu(k,3738) = lu(k,3738) - lu(k,2372) * lu(k,3730)
         lu(k,3739) = lu(k,3739) - lu(k,2373) * lu(k,3730)
         lu(k,3740) = lu(k,3740) - lu(k,2374) * lu(k,3730)
         lu(k,3741) = lu(k,3741) - lu(k,2375) * lu(k,3730)
         lu(k,3742) = lu(k,3742) - lu(k,2376) * lu(k,3730)
         lu(k,3744) = lu(k,3744) - lu(k,2377) * lu(k,3730)
         lu(k,3746) = lu(k,3746) - lu(k,2378) * lu(k,3730)
         lu(k,3748) = lu(k,3748) - lu(k,2379) * lu(k,3730)
         lu(k,3749) = lu(k,3749) - lu(k,2380) * lu(k,3730)
         lu(k,3751) = lu(k,3751) - lu(k,2381) * lu(k,3730)
         lu(k,3752) = lu(k,3752) - lu(k,2382) * lu(k,3730)
         lu(k,3756) = lu(k,3756) - lu(k,2383) * lu(k,3730)
      end do
      end subroutine lu_fac45
      subroutine lu_fac46( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,2392) = 1._r8 / lu(k,2392)
         lu(k,2393) = lu(k,2393) * lu(k,2392)
         lu(k,2394) = lu(k,2394) * lu(k,2392)
         lu(k,2395) = lu(k,2395) * lu(k,2392)
         lu(k,2396) = lu(k,2396) * lu(k,2392)
         lu(k,2397) = lu(k,2397) * lu(k,2392)
         lu(k,2398) = lu(k,2398) * lu(k,2392)
         lu(k,2399) = lu(k,2399) * lu(k,2392)
         lu(k,2400) = lu(k,2400) * lu(k,2392)
         lu(k,2401) = lu(k,2401) * lu(k,2392)
         lu(k,2402) = lu(k,2402) * lu(k,2392)
         lu(k,2403) = lu(k,2403) * lu(k,2392)
         lu(k,2404) = lu(k,2404) * lu(k,2392)
         lu(k,2405) = lu(k,2405) * lu(k,2392)
         lu(k,2406) = lu(k,2406) * lu(k,2392)
         lu(k,2407) = lu(k,2407) * lu(k,2392)
         lu(k,2408) = lu(k,2408) * lu(k,2392)
         lu(k,2409) = lu(k,2409) * lu(k,2392)
         lu(k,2410) = lu(k,2410) * lu(k,2392)
         lu(k,2411) = lu(k,2411) * lu(k,2392)
         lu(k,2528) = lu(k,2528) - lu(k,2393) * lu(k,2527)
         lu(k,2529) = lu(k,2529) - lu(k,2394) * lu(k,2527)
         lu(k,2530) = lu(k,2530) - lu(k,2395) * lu(k,2527)
         lu(k,2531) = lu(k,2531) - lu(k,2396) * lu(k,2527)
         lu(k,2533) = lu(k,2533) - lu(k,2397) * lu(k,2527)
         lu(k,2534) = lu(k,2534) - lu(k,2398) * lu(k,2527)
         lu(k,2536) = lu(k,2536) - lu(k,2399) * lu(k,2527)
         lu(k,2537) = lu(k,2537) - lu(k,2400) * lu(k,2527)
         lu(k,2538) = lu(k,2538) - lu(k,2401) * lu(k,2527)
         lu(k,2539) = lu(k,2539) - lu(k,2402) * lu(k,2527)
         lu(k,2540) = lu(k,2540) - lu(k,2403) * lu(k,2527)
         lu(k,2541) = lu(k,2541) - lu(k,2404) * lu(k,2527)
         lu(k,2542) = lu(k,2542) - lu(k,2405) * lu(k,2527)
         lu(k,2544) = - lu(k,2406) * lu(k,2527)
         lu(k,2545) = lu(k,2545) - lu(k,2407) * lu(k,2527)
         lu(k,2546) = lu(k,2546) - lu(k,2408) * lu(k,2527)
         lu(k,2547) = - lu(k,2409) * lu(k,2527)
         lu(k,2548) = - lu(k,2410) * lu(k,2527)
         lu(k,2549) = lu(k,2549) - lu(k,2411) * lu(k,2527)
         lu(k,2574) = lu(k,2574) - lu(k,2393) * lu(k,2573)
         lu(k,2575) = lu(k,2575) - lu(k,2394) * lu(k,2573)
         lu(k,2576) = lu(k,2576) - lu(k,2395) * lu(k,2573)
         lu(k,2577) = lu(k,2577) - lu(k,2396) * lu(k,2573)
         lu(k,2579) = lu(k,2579) - lu(k,2397) * lu(k,2573)
         lu(k,2580) = lu(k,2580) - lu(k,2398) * lu(k,2573)
         lu(k,2582) = lu(k,2582) - lu(k,2399) * lu(k,2573)
         lu(k,2583) = lu(k,2583) - lu(k,2400) * lu(k,2573)
         lu(k,2584) = lu(k,2584) - lu(k,2401) * lu(k,2573)
         lu(k,2585) = lu(k,2585) - lu(k,2402) * lu(k,2573)
         lu(k,2586) = lu(k,2586) - lu(k,2403) * lu(k,2573)
         lu(k,2587) = lu(k,2587) - lu(k,2404) * lu(k,2573)
         lu(k,2588) = lu(k,2588) - lu(k,2405) * lu(k,2573)
         lu(k,2590) = - lu(k,2406) * lu(k,2573)
         lu(k,2591) = lu(k,2591) - lu(k,2407) * lu(k,2573)
         lu(k,2592) = lu(k,2592) - lu(k,2408) * lu(k,2573)
         lu(k,2593) = - lu(k,2409) * lu(k,2573)
         lu(k,2594) = - lu(k,2410) * lu(k,2573)
         lu(k,2595) = lu(k,2595) - lu(k,2411) * lu(k,2573)
         lu(k,2621) = lu(k,2621) - lu(k,2393) * lu(k,2620)
         lu(k,2622) = lu(k,2622) - lu(k,2394) * lu(k,2620)
         lu(k,2623) = lu(k,2623) - lu(k,2395) * lu(k,2620)
         lu(k,2624) = lu(k,2624) - lu(k,2396) * lu(k,2620)
         lu(k,2626) = lu(k,2626) - lu(k,2397) * lu(k,2620)
         lu(k,2627) = lu(k,2627) - lu(k,2398) * lu(k,2620)
         lu(k,2629) = lu(k,2629) - lu(k,2399) * lu(k,2620)
         lu(k,2630) = lu(k,2630) - lu(k,2400) * lu(k,2620)
         lu(k,2631) = lu(k,2631) - lu(k,2401) * lu(k,2620)
         lu(k,2632) = lu(k,2632) - lu(k,2402) * lu(k,2620)
         lu(k,2633) = lu(k,2633) - lu(k,2403) * lu(k,2620)
         lu(k,2634) = lu(k,2634) - lu(k,2404) * lu(k,2620)
         lu(k,2635) = lu(k,2635) - lu(k,2405) * lu(k,2620)
         lu(k,2637) = - lu(k,2406) * lu(k,2620)
         lu(k,2638) = lu(k,2638) - lu(k,2407) * lu(k,2620)
         lu(k,2639) = lu(k,2639) - lu(k,2408) * lu(k,2620)
         lu(k,2640) = - lu(k,2409) * lu(k,2620)
         lu(k,2641) = - lu(k,2410) * lu(k,2620)
         lu(k,2642) = lu(k,2642) - lu(k,2411) * lu(k,2620)
         lu(k,2692) = lu(k,2692) - lu(k,2393) * lu(k,2691)
         lu(k,2693) = lu(k,2693) - lu(k,2394) * lu(k,2691)
         lu(k,2694) = lu(k,2694) - lu(k,2395) * lu(k,2691)
         lu(k,2695) = lu(k,2695) - lu(k,2396) * lu(k,2691)
         lu(k,2697) = lu(k,2697) - lu(k,2397) * lu(k,2691)
         lu(k,2698) = lu(k,2698) - lu(k,2398) * lu(k,2691)
         lu(k,2700) = lu(k,2700) - lu(k,2399) * lu(k,2691)
         lu(k,2701) = lu(k,2701) - lu(k,2400) * lu(k,2691)
         lu(k,2702) = lu(k,2702) - lu(k,2401) * lu(k,2691)
         lu(k,2703) = lu(k,2703) - lu(k,2402) * lu(k,2691)
         lu(k,2704) = lu(k,2704) - lu(k,2403) * lu(k,2691)
         lu(k,2705) = lu(k,2705) - lu(k,2404) * lu(k,2691)
         lu(k,2706) = lu(k,2706) - lu(k,2405) * lu(k,2691)
         lu(k,2708) = lu(k,2708) - lu(k,2406) * lu(k,2691)
         lu(k,2709) = lu(k,2709) - lu(k,2407) * lu(k,2691)
         lu(k,2710) = lu(k,2710) - lu(k,2408) * lu(k,2691)
         lu(k,2711) = lu(k,2711) - lu(k,2409) * lu(k,2691)
         lu(k,2712) = lu(k,2712) - lu(k,2410) * lu(k,2691)
         lu(k,2713) = lu(k,2713) - lu(k,2411) * lu(k,2691)
         lu(k,2875) = lu(k,2875) - lu(k,2393) * lu(k,2874)
         lu(k,2876) = lu(k,2876) - lu(k,2394) * lu(k,2874)
         lu(k,2877) = lu(k,2877) - lu(k,2395) * lu(k,2874)
         lu(k,2878) = lu(k,2878) - lu(k,2396) * lu(k,2874)
         lu(k,2880) = lu(k,2880) - lu(k,2397) * lu(k,2874)
         lu(k,2881) = lu(k,2881) - lu(k,2398) * lu(k,2874)
         lu(k,2883) = lu(k,2883) - lu(k,2399) * lu(k,2874)
         lu(k,2884) = lu(k,2884) - lu(k,2400) * lu(k,2874)
         lu(k,2885) = lu(k,2885) - lu(k,2401) * lu(k,2874)
         lu(k,2886) = lu(k,2886) - lu(k,2402) * lu(k,2874)
         lu(k,2887) = lu(k,2887) - lu(k,2403) * lu(k,2874)
         lu(k,2889) = lu(k,2889) - lu(k,2404) * lu(k,2874)
         lu(k,2891) = lu(k,2891) - lu(k,2405) * lu(k,2874)
         lu(k,2893) = lu(k,2893) - lu(k,2406) * lu(k,2874)
         lu(k,2894) = lu(k,2894) - lu(k,2407) * lu(k,2874)
         lu(k,2895) = lu(k,2895) - lu(k,2408) * lu(k,2874)
         lu(k,2896) = lu(k,2896) - lu(k,2409) * lu(k,2874)
         lu(k,2898) = lu(k,2898) - lu(k,2410) * lu(k,2874)
         lu(k,2899) = lu(k,2899) - lu(k,2411) * lu(k,2874)
         lu(k,2976) = lu(k,2976) - lu(k,2393) * lu(k,2975)
         lu(k,2977) = lu(k,2977) - lu(k,2394) * lu(k,2975)
         lu(k,2978) = lu(k,2978) - lu(k,2395) * lu(k,2975)
         lu(k,2979) = lu(k,2979) - lu(k,2396) * lu(k,2975)
         lu(k,2981) = lu(k,2981) - lu(k,2397) * lu(k,2975)
         lu(k,2982) = lu(k,2982) - lu(k,2398) * lu(k,2975)
         lu(k,2984) = lu(k,2984) - lu(k,2399) * lu(k,2975)
         lu(k,2985) = lu(k,2985) - lu(k,2400) * lu(k,2975)
         lu(k,2986) = lu(k,2986) - lu(k,2401) * lu(k,2975)
         lu(k,2987) = lu(k,2987) - lu(k,2402) * lu(k,2975)
         lu(k,2988) = lu(k,2988) - lu(k,2403) * lu(k,2975)
         lu(k,2990) = lu(k,2990) - lu(k,2404) * lu(k,2975)
         lu(k,2992) = lu(k,2992) - lu(k,2405) * lu(k,2975)
         lu(k,2994) = lu(k,2994) - lu(k,2406) * lu(k,2975)
         lu(k,2995) = lu(k,2995) - lu(k,2407) * lu(k,2975)
         lu(k,2996) = lu(k,2996) - lu(k,2408) * lu(k,2975)
         lu(k,2997) = lu(k,2997) - lu(k,2409) * lu(k,2975)
         lu(k,2999) = lu(k,2999) - lu(k,2410) * lu(k,2975)
         lu(k,3000) = lu(k,3000) - lu(k,2411) * lu(k,2975)
         lu(k,3068) = lu(k,3068) - lu(k,2393) * lu(k,3067)
         lu(k,3069) = lu(k,3069) - lu(k,2394) * lu(k,3067)
         lu(k,3070) = lu(k,3070) - lu(k,2395) * lu(k,3067)
         lu(k,3071) = lu(k,3071) - lu(k,2396) * lu(k,3067)
         lu(k,3073) = lu(k,3073) - lu(k,2397) * lu(k,3067)
         lu(k,3074) = lu(k,3074) - lu(k,2398) * lu(k,3067)
         lu(k,3076) = lu(k,3076) - lu(k,2399) * lu(k,3067)
         lu(k,3077) = lu(k,3077) - lu(k,2400) * lu(k,3067)
         lu(k,3078) = lu(k,3078) - lu(k,2401) * lu(k,3067)
         lu(k,3079) = lu(k,3079) - lu(k,2402) * lu(k,3067)
         lu(k,3080) = lu(k,3080) - lu(k,2403) * lu(k,3067)
         lu(k,3082) = lu(k,3082) - lu(k,2404) * lu(k,3067)
         lu(k,3084) = lu(k,3084) - lu(k,2405) * lu(k,3067)
         lu(k,3086) = lu(k,3086) - lu(k,2406) * lu(k,3067)
         lu(k,3087) = lu(k,3087) - lu(k,2407) * lu(k,3067)
         lu(k,3088) = lu(k,3088) - lu(k,2408) * lu(k,3067)
         lu(k,3089) = lu(k,3089) - lu(k,2409) * lu(k,3067)
         lu(k,3091) = lu(k,3091) - lu(k,2410) * lu(k,3067)
         lu(k,3092) = lu(k,3092) - lu(k,2411) * lu(k,3067)
         lu(k,3271) = lu(k,3271) - lu(k,2393) * lu(k,3270)
         lu(k,3272) = lu(k,3272) - lu(k,2394) * lu(k,3270)
         lu(k,3273) = lu(k,3273) - lu(k,2395) * lu(k,3270)
         lu(k,3274) = lu(k,3274) - lu(k,2396) * lu(k,3270)
         lu(k,3276) = lu(k,3276) - lu(k,2397) * lu(k,3270)
         lu(k,3277) = lu(k,3277) - lu(k,2398) * lu(k,3270)
         lu(k,3279) = lu(k,3279) - lu(k,2399) * lu(k,3270)
         lu(k,3280) = lu(k,3280) - lu(k,2400) * lu(k,3270)
         lu(k,3281) = lu(k,3281) - lu(k,2401) * lu(k,3270)
         lu(k,3282) = lu(k,3282) - lu(k,2402) * lu(k,3270)
         lu(k,3283) = lu(k,3283) - lu(k,2403) * lu(k,3270)
         lu(k,3285) = lu(k,3285) - lu(k,2404) * lu(k,3270)
         lu(k,3287) = lu(k,3287) - lu(k,2405) * lu(k,3270)
         lu(k,3289) = lu(k,3289) - lu(k,2406) * lu(k,3270)
         lu(k,3290) = lu(k,3290) - lu(k,2407) * lu(k,3270)
         lu(k,3291) = lu(k,3291) - lu(k,2408) * lu(k,3270)
         lu(k,3292) = lu(k,3292) - lu(k,2409) * lu(k,3270)
         lu(k,3294) = lu(k,3294) - lu(k,2410) * lu(k,3270)
         lu(k,3295) = lu(k,3295) - lu(k,2411) * lu(k,3270)
         lu(k,3412) = lu(k,3412) - lu(k,2393) * lu(k,3411)
         lu(k,3413) = lu(k,3413) - lu(k,2394) * lu(k,3411)
         lu(k,3414) = lu(k,3414) - lu(k,2395) * lu(k,3411)
         lu(k,3415) = lu(k,3415) - lu(k,2396) * lu(k,3411)
         lu(k,3417) = lu(k,3417) - lu(k,2397) * lu(k,3411)
         lu(k,3418) = lu(k,3418) - lu(k,2398) * lu(k,3411)
         lu(k,3420) = lu(k,3420) - lu(k,2399) * lu(k,3411)
         lu(k,3421) = lu(k,3421) - lu(k,2400) * lu(k,3411)
         lu(k,3422) = lu(k,3422) - lu(k,2401) * lu(k,3411)
         lu(k,3423) = lu(k,3423) - lu(k,2402) * lu(k,3411)
         lu(k,3424) = lu(k,3424) - lu(k,2403) * lu(k,3411)
         lu(k,3426) = lu(k,3426) - lu(k,2404) * lu(k,3411)
         lu(k,3428) = lu(k,3428) - lu(k,2405) * lu(k,3411)
         lu(k,3430) = lu(k,3430) - lu(k,2406) * lu(k,3411)
         lu(k,3431) = lu(k,3431) - lu(k,2407) * lu(k,3411)
         lu(k,3432) = lu(k,3432) - lu(k,2408) * lu(k,3411)
         lu(k,3433) = lu(k,3433) - lu(k,2409) * lu(k,3411)
         lu(k,3435) = lu(k,3435) - lu(k,2410) * lu(k,3411)
         lu(k,3436) = lu(k,3436) - lu(k,2411) * lu(k,3411)
         lu(k,3732) = lu(k,3732) - lu(k,2393) * lu(k,3731)
         lu(k,3733) = lu(k,3733) - lu(k,2394) * lu(k,3731)
         lu(k,3734) = lu(k,3734) - lu(k,2395) * lu(k,3731)
         lu(k,3735) = lu(k,3735) - lu(k,2396) * lu(k,3731)
         lu(k,3737) = lu(k,3737) - lu(k,2397) * lu(k,3731)
         lu(k,3738) = lu(k,3738) - lu(k,2398) * lu(k,3731)
         lu(k,3740) = lu(k,3740) - lu(k,2399) * lu(k,3731)
         lu(k,3741) = lu(k,3741) - lu(k,2400) * lu(k,3731)
         lu(k,3742) = lu(k,3742) - lu(k,2401) * lu(k,3731)
         lu(k,3743) = lu(k,3743) - lu(k,2402) * lu(k,3731)
         lu(k,3744) = lu(k,3744) - lu(k,2403) * lu(k,3731)
         lu(k,3746) = lu(k,3746) - lu(k,2404) * lu(k,3731)
         lu(k,3748) = lu(k,3748) - lu(k,2405) * lu(k,3731)
         lu(k,3750) = lu(k,3750) - lu(k,2406) * lu(k,3731)
         lu(k,3751) = lu(k,3751) - lu(k,2407) * lu(k,3731)
         lu(k,3752) = lu(k,3752) - lu(k,2408) * lu(k,3731)
         lu(k,3753) = lu(k,3753) - lu(k,2409) * lu(k,3731)
         lu(k,3755) = lu(k,3755) - lu(k,2410) * lu(k,3731)
         lu(k,3756) = lu(k,3756) - lu(k,2411) * lu(k,3731)
         lu(k,2420) = 1._r8 / lu(k,2420)
         lu(k,2421) = lu(k,2421) * lu(k,2420)
         lu(k,2422) = lu(k,2422) * lu(k,2420)
         lu(k,2423) = lu(k,2423) * lu(k,2420)
         lu(k,2424) = lu(k,2424) * lu(k,2420)
         lu(k,2425) = lu(k,2425) * lu(k,2420)
         lu(k,2426) = lu(k,2426) * lu(k,2420)
         lu(k,2427) = lu(k,2427) * lu(k,2420)
         lu(k,2428) = lu(k,2428) * lu(k,2420)
         lu(k,2429) = lu(k,2429) * lu(k,2420)
         lu(k,2430) = lu(k,2430) * lu(k,2420)
         lu(k,2431) = lu(k,2431) * lu(k,2420)
         lu(k,2432) = lu(k,2432) * lu(k,2420)
         lu(k,2433) = lu(k,2433) * lu(k,2420)
         lu(k,2434) = lu(k,2434) * lu(k,2420)
         lu(k,2435) = lu(k,2435) * lu(k,2420)
         lu(k,2436) = lu(k,2436) * lu(k,2420)
         lu(k,2437) = lu(k,2437) * lu(k,2420)
         lu(k,2438) = lu(k,2438) * lu(k,2420)
         lu(k,2529) = lu(k,2529) - lu(k,2421) * lu(k,2528)
         lu(k,2530) = lu(k,2530) - lu(k,2422) * lu(k,2528)
         lu(k,2531) = lu(k,2531) - lu(k,2423) * lu(k,2528)
         lu(k,2533) = lu(k,2533) - lu(k,2424) * lu(k,2528)
         lu(k,2534) = lu(k,2534) - lu(k,2425) * lu(k,2528)
         lu(k,2536) = lu(k,2536) - lu(k,2426) * lu(k,2528)
         lu(k,2537) = lu(k,2537) - lu(k,2427) * lu(k,2528)
         lu(k,2538) = lu(k,2538) - lu(k,2428) * lu(k,2528)
         lu(k,2539) = lu(k,2539) - lu(k,2429) * lu(k,2528)
         lu(k,2540) = lu(k,2540) - lu(k,2430) * lu(k,2528)
         lu(k,2541) = lu(k,2541) - lu(k,2431) * lu(k,2528)
         lu(k,2542) = lu(k,2542) - lu(k,2432) * lu(k,2528)
         lu(k,2544) = lu(k,2544) - lu(k,2433) * lu(k,2528)
         lu(k,2545) = lu(k,2545) - lu(k,2434) * lu(k,2528)
         lu(k,2546) = lu(k,2546) - lu(k,2435) * lu(k,2528)
         lu(k,2547) = lu(k,2547) - lu(k,2436) * lu(k,2528)
         lu(k,2548) = lu(k,2548) - lu(k,2437) * lu(k,2528)
         lu(k,2549) = lu(k,2549) - lu(k,2438) * lu(k,2528)
         lu(k,2575) = lu(k,2575) - lu(k,2421) * lu(k,2574)
         lu(k,2576) = lu(k,2576) - lu(k,2422) * lu(k,2574)
         lu(k,2577) = lu(k,2577) - lu(k,2423) * lu(k,2574)
         lu(k,2579) = lu(k,2579) - lu(k,2424) * lu(k,2574)
         lu(k,2580) = lu(k,2580) - lu(k,2425) * lu(k,2574)
         lu(k,2582) = lu(k,2582) - lu(k,2426) * lu(k,2574)
         lu(k,2583) = lu(k,2583) - lu(k,2427) * lu(k,2574)
         lu(k,2584) = lu(k,2584) - lu(k,2428) * lu(k,2574)
         lu(k,2585) = lu(k,2585) - lu(k,2429) * lu(k,2574)
         lu(k,2586) = lu(k,2586) - lu(k,2430) * lu(k,2574)
         lu(k,2587) = lu(k,2587) - lu(k,2431) * lu(k,2574)
         lu(k,2588) = lu(k,2588) - lu(k,2432) * lu(k,2574)
         lu(k,2590) = lu(k,2590) - lu(k,2433) * lu(k,2574)
         lu(k,2591) = lu(k,2591) - lu(k,2434) * lu(k,2574)
         lu(k,2592) = lu(k,2592) - lu(k,2435) * lu(k,2574)
         lu(k,2593) = lu(k,2593) - lu(k,2436) * lu(k,2574)
         lu(k,2594) = lu(k,2594) - lu(k,2437) * lu(k,2574)
         lu(k,2595) = lu(k,2595) - lu(k,2438) * lu(k,2574)
         lu(k,2622) = lu(k,2622) - lu(k,2421) * lu(k,2621)
         lu(k,2623) = lu(k,2623) - lu(k,2422) * lu(k,2621)
         lu(k,2624) = lu(k,2624) - lu(k,2423) * lu(k,2621)
         lu(k,2626) = lu(k,2626) - lu(k,2424) * lu(k,2621)
         lu(k,2627) = lu(k,2627) - lu(k,2425) * lu(k,2621)
         lu(k,2629) = lu(k,2629) - lu(k,2426) * lu(k,2621)
         lu(k,2630) = lu(k,2630) - lu(k,2427) * lu(k,2621)
         lu(k,2631) = lu(k,2631) - lu(k,2428) * lu(k,2621)
         lu(k,2632) = lu(k,2632) - lu(k,2429) * lu(k,2621)
         lu(k,2633) = lu(k,2633) - lu(k,2430) * lu(k,2621)
         lu(k,2634) = lu(k,2634) - lu(k,2431) * lu(k,2621)
         lu(k,2635) = lu(k,2635) - lu(k,2432) * lu(k,2621)
         lu(k,2637) = lu(k,2637) - lu(k,2433) * lu(k,2621)
         lu(k,2638) = lu(k,2638) - lu(k,2434) * lu(k,2621)
         lu(k,2639) = lu(k,2639) - lu(k,2435) * lu(k,2621)
         lu(k,2640) = lu(k,2640) - lu(k,2436) * lu(k,2621)
         lu(k,2641) = lu(k,2641) - lu(k,2437) * lu(k,2621)
         lu(k,2642) = lu(k,2642) - lu(k,2438) * lu(k,2621)
         lu(k,2693) = lu(k,2693) - lu(k,2421) * lu(k,2692)
         lu(k,2694) = lu(k,2694) - lu(k,2422) * lu(k,2692)
         lu(k,2695) = lu(k,2695) - lu(k,2423) * lu(k,2692)
         lu(k,2697) = lu(k,2697) - lu(k,2424) * lu(k,2692)
         lu(k,2698) = lu(k,2698) - lu(k,2425) * lu(k,2692)
         lu(k,2700) = lu(k,2700) - lu(k,2426) * lu(k,2692)
         lu(k,2701) = lu(k,2701) - lu(k,2427) * lu(k,2692)
         lu(k,2702) = lu(k,2702) - lu(k,2428) * lu(k,2692)
         lu(k,2703) = lu(k,2703) - lu(k,2429) * lu(k,2692)
         lu(k,2704) = lu(k,2704) - lu(k,2430) * lu(k,2692)
         lu(k,2705) = lu(k,2705) - lu(k,2431) * lu(k,2692)
         lu(k,2706) = lu(k,2706) - lu(k,2432) * lu(k,2692)
         lu(k,2708) = lu(k,2708) - lu(k,2433) * lu(k,2692)
         lu(k,2709) = lu(k,2709) - lu(k,2434) * lu(k,2692)
         lu(k,2710) = lu(k,2710) - lu(k,2435) * lu(k,2692)
         lu(k,2711) = lu(k,2711) - lu(k,2436) * lu(k,2692)
         lu(k,2712) = lu(k,2712) - lu(k,2437) * lu(k,2692)
         lu(k,2713) = lu(k,2713) - lu(k,2438) * lu(k,2692)
         lu(k,2876) = lu(k,2876) - lu(k,2421) * lu(k,2875)
         lu(k,2877) = lu(k,2877) - lu(k,2422) * lu(k,2875)
         lu(k,2878) = lu(k,2878) - lu(k,2423) * lu(k,2875)
         lu(k,2880) = lu(k,2880) - lu(k,2424) * lu(k,2875)
         lu(k,2881) = lu(k,2881) - lu(k,2425) * lu(k,2875)
         lu(k,2883) = lu(k,2883) - lu(k,2426) * lu(k,2875)
         lu(k,2884) = lu(k,2884) - lu(k,2427) * lu(k,2875)
         lu(k,2885) = lu(k,2885) - lu(k,2428) * lu(k,2875)
         lu(k,2886) = lu(k,2886) - lu(k,2429) * lu(k,2875)
         lu(k,2887) = lu(k,2887) - lu(k,2430) * lu(k,2875)
         lu(k,2889) = lu(k,2889) - lu(k,2431) * lu(k,2875)
         lu(k,2891) = lu(k,2891) - lu(k,2432) * lu(k,2875)
         lu(k,2893) = lu(k,2893) - lu(k,2433) * lu(k,2875)
         lu(k,2894) = lu(k,2894) - lu(k,2434) * lu(k,2875)
         lu(k,2895) = lu(k,2895) - lu(k,2435) * lu(k,2875)
         lu(k,2896) = lu(k,2896) - lu(k,2436) * lu(k,2875)
         lu(k,2898) = lu(k,2898) - lu(k,2437) * lu(k,2875)
         lu(k,2899) = lu(k,2899) - lu(k,2438) * lu(k,2875)
         lu(k,2977) = lu(k,2977) - lu(k,2421) * lu(k,2976)
         lu(k,2978) = lu(k,2978) - lu(k,2422) * lu(k,2976)
         lu(k,2979) = lu(k,2979) - lu(k,2423) * lu(k,2976)
         lu(k,2981) = lu(k,2981) - lu(k,2424) * lu(k,2976)
         lu(k,2982) = lu(k,2982) - lu(k,2425) * lu(k,2976)
         lu(k,2984) = lu(k,2984) - lu(k,2426) * lu(k,2976)
         lu(k,2985) = lu(k,2985) - lu(k,2427) * lu(k,2976)
         lu(k,2986) = lu(k,2986) - lu(k,2428) * lu(k,2976)
         lu(k,2987) = lu(k,2987) - lu(k,2429) * lu(k,2976)
         lu(k,2988) = lu(k,2988) - lu(k,2430) * lu(k,2976)
         lu(k,2990) = lu(k,2990) - lu(k,2431) * lu(k,2976)
         lu(k,2992) = lu(k,2992) - lu(k,2432) * lu(k,2976)
         lu(k,2994) = lu(k,2994) - lu(k,2433) * lu(k,2976)
         lu(k,2995) = lu(k,2995) - lu(k,2434) * lu(k,2976)
         lu(k,2996) = lu(k,2996) - lu(k,2435) * lu(k,2976)
         lu(k,2997) = lu(k,2997) - lu(k,2436) * lu(k,2976)
         lu(k,2999) = lu(k,2999) - lu(k,2437) * lu(k,2976)
         lu(k,3000) = lu(k,3000) - lu(k,2438) * lu(k,2976)
         lu(k,3069) = lu(k,3069) - lu(k,2421) * lu(k,3068)
         lu(k,3070) = lu(k,3070) - lu(k,2422) * lu(k,3068)
         lu(k,3071) = lu(k,3071) - lu(k,2423) * lu(k,3068)
         lu(k,3073) = lu(k,3073) - lu(k,2424) * lu(k,3068)
         lu(k,3074) = lu(k,3074) - lu(k,2425) * lu(k,3068)
         lu(k,3076) = lu(k,3076) - lu(k,2426) * lu(k,3068)
         lu(k,3077) = lu(k,3077) - lu(k,2427) * lu(k,3068)
         lu(k,3078) = lu(k,3078) - lu(k,2428) * lu(k,3068)
         lu(k,3079) = lu(k,3079) - lu(k,2429) * lu(k,3068)
         lu(k,3080) = lu(k,3080) - lu(k,2430) * lu(k,3068)
         lu(k,3082) = lu(k,3082) - lu(k,2431) * lu(k,3068)
         lu(k,3084) = lu(k,3084) - lu(k,2432) * lu(k,3068)
         lu(k,3086) = lu(k,3086) - lu(k,2433) * lu(k,3068)
         lu(k,3087) = lu(k,3087) - lu(k,2434) * lu(k,3068)
         lu(k,3088) = lu(k,3088) - lu(k,2435) * lu(k,3068)
         lu(k,3089) = lu(k,3089) - lu(k,2436) * lu(k,3068)
         lu(k,3091) = lu(k,3091) - lu(k,2437) * lu(k,3068)
         lu(k,3092) = lu(k,3092) - lu(k,2438) * lu(k,3068)
         lu(k,3272) = lu(k,3272) - lu(k,2421) * lu(k,3271)
         lu(k,3273) = lu(k,3273) - lu(k,2422) * lu(k,3271)
         lu(k,3274) = lu(k,3274) - lu(k,2423) * lu(k,3271)
         lu(k,3276) = lu(k,3276) - lu(k,2424) * lu(k,3271)
         lu(k,3277) = lu(k,3277) - lu(k,2425) * lu(k,3271)
         lu(k,3279) = lu(k,3279) - lu(k,2426) * lu(k,3271)
         lu(k,3280) = lu(k,3280) - lu(k,2427) * lu(k,3271)
         lu(k,3281) = lu(k,3281) - lu(k,2428) * lu(k,3271)
         lu(k,3282) = lu(k,3282) - lu(k,2429) * lu(k,3271)
         lu(k,3283) = lu(k,3283) - lu(k,2430) * lu(k,3271)
         lu(k,3285) = lu(k,3285) - lu(k,2431) * lu(k,3271)
         lu(k,3287) = lu(k,3287) - lu(k,2432) * lu(k,3271)
         lu(k,3289) = lu(k,3289) - lu(k,2433) * lu(k,3271)
         lu(k,3290) = lu(k,3290) - lu(k,2434) * lu(k,3271)
         lu(k,3291) = lu(k,3291) - lu(k,2435) * lu(k,3271)
         lu(k,3292) = lu(k,3292) - lu(k,2436) * lu(k,3271)
         lu(k,3294) = lu(k,3294) - lu(k,2437) * lu(k,3271)
         lu(k,3295) = lu(k,3295) - lu(k,2438) * lu(k,3271)
         lu(k,3413) = lu(k,3413) - lu(k,2421) * lu(k,3412)
         lu(k,3414) = lu(k,3414) - lu(k,2422) * lu(k,3412)
         lu(k,3415) = lu(k,3415) - lu(k,2423) * lu(k,3412)
         lu(k,3417) = lu(k,3417) - lu(k,2424) * lu(k,3412)
         lu(k,3418) = lu(k,3418) - lu(k,2425) * lu(k,3412)
         lu(k,3420) = lu(k,3420) - lu(k,2426) * lu(k,3412)
         lu(k,3421) = lu(k,3421) - lu(k,2427) * lu(k,3412)
         lu(k,3422) = lu(k,3422) - lu(k,2428) * lu(k,3412)
         lu(k,3423) = lu(k,3423) - lu(k,2429) * lu(k,3412)
         lu(k,3424) = lu(k,3424) - lu(k,2430) * lu(k,3412)
         lu(k,3426) = lu(k,3426) - lu(k,2431) * lu(k,3412)
         lu(k,3428) = lu(k,3428) - lu(k,2432) * lu(k,3412)
         lu(k,3430) = lu(k,3430) - lu(k,2433) * lu(k,3412)
         lu(k,3431) = lu(k,3431) - lu(k,2434) * lu(k,3412)
         lu(k,3432) = lu(k,3432) - lu(k,2435) * lu(k,3412)
         lu(k,3433) = lu(k,3433) - lu(k,2436) * lu(k,3412)
         lu(k,3435) = lu(k,3435) - lu(k,2437) * lu(k,3412)
         lu(k,3436) = lu(k,3436) - lu(k,2438) * lu(k,3412)
         lu(k,3733) = lu(k,3733) - lu(k,2421) * lu(k,3732)
         lu(k,3734) = lu(k,3734) - lu(k,2422) * lu(k,3732)
         lu(k,3735) = lu(k,3735) - lu(k,2423) * lu(k,3732)
         lu(k,3737) = lu(k,3737) - lu(k,2424) * lu(k,3732)
         lu(k,3738) = lu(k,3738) - lu(k,2425) * lu(k,3732)
         lu(k,3740) = lu(k,3740) - lu(k,2426) * lu(k,3732)
         lu(k,3741) = lu(k,3741) - lu(k,2427) * lu(k,3732)
         lu(k,3742) = lu(k,3742) - lu(k,2428) * lu(k,3732)
         lu(k,3743) = lu(k,3743) - lu(k,2429) * lu(k,3732)
         lu(k,3744) = lu(k,3744) - lu(k,2430) * lu(k,3732)
         lu(k,3746) = lu(k,3746) - lu(k,2431) * lu(k,3732)
         lu(k,3748) = lu(k,3748) - lu(k,2432) * lu(k,3732)
         lu(k,3750) = lu(k,3750) - lu(k,2433) * lu(k,3732)
         lu(k,3751) = lu(k,3751) - lu(k,2434) * lu(k,3732)
         lu(k,3752) = lu(k,3752) - lu(k,2435) * lu(k,3732)
         lu(k,3753) = lu(k,3753) - lu(k,2436) * lu(k,3732)
         lu(k,3755) = lu(k,3755) - lu(k,2437) * lu(k,3732)
         lu(k,3756) = lu(k,3756) - lu(k,2438) * lu(k,3732)
         lu(k,2445) = 1._r8 / lu(k,2445)
         lu(k,2446) = lu(k,2446) * lu(k,2445)
         lu(k,2447) = lu(k,2447) * lu(k,2445)
         lu(k,2448) = lu(k,2448) * lu(k,2445)
         lu(k,2449) = lu(k,2449) * lu(k,2445)
         lu(k,2450) = lu(k,2450) * lu(k,2445)
         lu(k,2451) = lu(k,2451) * lu(k,2445)
         lu(k,2452) = lu(k,2452) * lu(k,2445)
         lu(k,2453) = lu(k,2453) * lu(k,2445)
         lu(k,2454) = lu(k,2454) * lu(k,2445)
         lu(k,2455) = lu(k,2455) * lu(k,2445)
         lu(k,2456) = lu(k,2456) * lu(k,2445)
         lu(k,2457) = lu(k,2457) * lu(k,2445)
         lu(k,2458) = lu(k,2458) * lu(k,2445)
         lu(k,2459) = lu(k,2459) * lu(k,2445)
         lu(k,2460) = lu(k,2460) * lu(k,2445)
         lu(k,2467) = lu(k,2467) - lu(k,2446) * lu(k,2466)
         lu(k,2468) = lu(k,2468) - lu(k,2447) * lu(k,2466)
         lu(k,2469) = lu(k,2469) - lu(k,2448) * lu(k,2466)
         lu(k,2470) = lu(k,2470) - lu(k,2449) * lu(k,2466)
         lu(k,2471) = lu(k,2471) - lu(k,2450) * lu(k,2466)
         lu(k,2472) = lu(k,2472) - lu(k,2451) * lu(k,2466)
         lu(k,2473) = lu(k,2473) - lu(k,2452) * lu(k,2466)
         lu(k,2474) = lu(k,2474) - lu(k,2453) * lu(k,2466)
         lu(k,2475) = lu(k,2475) - lu(k,2454) * lu(k,2466)
         lu(k,2476) = lu(k,2476) - lu(k,2455) * lu(k,2466)
         lu(k,2477) = lu(k,2477) - lu(k,2456) * lu(k,2466)
         lu(k,2478) = lu(k,2478) - lu(k,2457) * lu(k,2466)
         lu(k,2479) = lu(k,2479) - lu(k,2458) * lu(k,2466)
         lu(k,2480) = lu(k,2480) - lu(k,2459) * lu(k,2466)
         lu(k,2481) = lu(k,2481) - lu(k,2460) * lu(k,2466)
         lu(k,2488) = lu(k,2488) - lu(k,2446) * lu(k,2487)
         lu(k,2489) = lu(k,2489) - lu(k,2447) * lu(k,2487)
         lu(k,2490) = lu(k,2490) - lu(k,2448) * lu(k,2487)
         lu(k,2491) = lu(k,2491) - lu(k,2449) * lu(k,2487)
         lu(k,2492) = lu(k,2492) - lu(k,2450) * lu(k,2487)
         lu(k,2493) = lu(k,2493) - lu(k,2451) * lu(k,2487)
         lu(k,2494) = lu(k,2494) - lu(k,2452) * lu(k,2487)
         lu(k,2495) = lu(k,2495) - lu(k,2453) * lu(k,2487)
         lu(k,2496) = lu(k,2496) - lu(k,2454) * lu(k,2487)
         lu(k,2497) = lu(k,2497) - lu(k,2455) * lu(k,2487)
         lu(k,2498) = lu(k,2498) - lu(k,2456) * lu(k,2487)
         lu(k,2499) = lu(k,2499) - lu(k,2457) * lu(k,2487)
         lu(k,2500) = lu(k,2500) - lu(k,2458) * lu(k,2487)
         lu(k,2501) = lu(k,2501) - lu(k,2459) * lu(k,2487)
         lu(k,2502) = lu(k,2502) - lu(k,2460) * lu(k,2487)
         lu(k,2530) = lu(k,2530) - lu(k,2446) * lu(k,2529)
         lu(k,2531) = lu(k,2531) - lu(k,2447) * lu(k,2529)
         lu(k,2532) = lu(k,2532) - lu(k,2448) * lu(k,2529)
         lu(k,2533) = lu(k,2533) - lu(k,2449) * lu(k,2529)
         lu(k,2534) = lu(k,2534) - lu(k,2450) * lu(k,2529)
         lu(k,2535) = lu(k,2535) - lu(k,2451) * lu(k,2529)
         lu(k,2536) = lu(k,2536) - lu(k,2452) * lu(k,2529)
         lu(k,2537) = lu(k,2537) - lu(k,2453) * lu(k,2529)
         lu(k,2538) = lu(k,2538) - lu(k,2454) * lu(k,2529)
         lu(k,2540) = lu(k,2540) - lu(k,2455) * lu(k,2529)
         lu(k,2541) = lu(k,2541) - lu(k,2456) * lu(k,2529)
         lu(k,2542) = lu(k,2542) - lu(k,2457) * lu(k,2529)
         lu(k,2543) = lu(k,2543) - lu(k,2458) * lu(k,2529)
         lu(k,2545) = lu(k,2545) - lu(k,2459) * lu(k,2529)
         lu(k,2546) = lu(k,2546) - lu(k,2460) * lu(k,2529)
         lu(k,2576) = lu(k,2576) - lu(k,2446) * lu(k,2575)
         lu(k,2577) = lu(k,2577) - lu(k,2447) * lu(k,2575)
         lu(k,2578) = lu(k,2578) - lu(k,2448) * lu(k,2575)
         lu(k,2579) = lu(k,2579) - lu(k,2449) * lu(k,2575)
         lu(k,2580) = lu(k,2580) - lu(k,2450) * lu(k,2575)
         lu(k,2581) = lu(k,2581) - lu(k,2451) * lu(k,2575)
         lu(k,2582) = lu(k,2582) - lu(k,2452) * lu(k,2575)
         lu(k,2583) = lu(k,2583) - lu(k,2453) * lu(k,2575)
         lu(k,2584) = lu(k,2584) - lu(k,2454) * lu(k,2575)
         lu(k,2586) = lu(k,2586) - lu(k,2455) * lu(k,2575)
         lu(k,2587) = lu(k,2587) - lu(k,2456) * lu(k,2575)
         lu(k,2588) = lu(k,2588) - lu(k,2457) * lu(k,2575)
         lu(k,2589) = lu(k,2589) - lu(k,2458) * lu(k,2575)
         lu(k,2591) = lu(k,2591) - lu(k,2459) * lu(k,2575)
         lu(k,2592) = lu(k,2592) - lu(k,2460) * lu(k,2575)
         lu(k,2623) = lu(k,2623) - lu(k,2446) * lu(k,2622)
         lu(k,2624) = lu(k,2624) - lu(k,2447) * lu(k,2622)
         lu(k,2625) = lu(k,2625) - lu(k,2448) * lu(k,2622)
         lu(k,2626) = lu(k,2626) - lu(k,2449) * lu(k,2622)
         lu(k,2627) = lu(k,2627) - lu(k,2450) * lu(k,2622)
         lu(k,2628) = lu(k,2628) - lu(k,2451) * lu(k,2622)
         lu(k,2629) = lu(k,2629) - lu(k,2452) * lu(k,2622)
         lu(k,2630) = lu(k,2630) - lu(k,2453) * lu(k,2622)
         lu(k,2631) = lu(k,2631) - lu(k,2454) * lu(k,2622)
         lu(k,2633) = lu(k,2633) - lu(k,2455) * lu(k,2622)
         lu(k,2634) = lu(k,2634) - lu(k,2456) * lu(k,2622)
         lu(k,2635) = lu(k,2635) - lu(k,2457) * lu(k,2622)
         lu(k,2636) = lu(k,2636) - lu(k,2458) * lu(k,2622)
         lu(k,2638) = lu(k,2638) - lu(k,2459) * lu(k,2622)
         lu(k,2639) = lu(k,2639) - lu(k,2460) * lu(k,2622)
         lu(k,2694) = lu(k,2694) - lu(k,2446) * lu(k,2693)
         lu(k,2695) = lu(k,2695) - lu(k,2447) * lu(k,2693)
         lu(k,2696) = lu(k,2696) - lu(k,2448) * lu(k,2693)
         lu(k,2697) = lu(k,2697) - lu(k,2449) * lu(k,2693)
         lu(k,2698) = lu(k,2698) - lu(k,2450) * lu(k,2693)
         lu(k,2699) = lu(k,2699) - lu(k,2451) * lu(k,2693)
         lu(k,2700) = lu(k,2700) - lu(k,2452) * lu(k,2693)
         lu(k,2701) = lu(k,2701) - lu(k,2453) * lu(k,2693)
         lu(k,2702) = lu(k,2702) - lu(k,2454) * lu(k,2693)
         lu(k,2704) = lu(k,2704) - lu(k,2455) * lu(k,2693)
         lu(k,2705) = lu(k,2705) - lu(k,2456) * lu(k,2693)
         lu(k,2706) = lu(k,2706) - lu(k,2457) * lu(k,2693)
         lu(k,2707) = lu(k,2707) - lu(k,2458) * lu(k,2693)
         lu(k,2709) = lu(k,2709) - lu(k,2459) * lu(k,2693)
         lu(k,2710) = lu(k,2710) - lu(k,2460) * lu(k,2693)
         lu(k,2877) = lu(k,2877) - lu(k,2446) * lu(k,2876)
         lu(k,2878) = lu(k,2878) - lu(k,2447) * lu(k,2876)
         lu(k,2879) = lu(k,2879) - lu(k,2448) * lu(k,2876)
         lu(k,2880) = lu(k,2880) - lu(k,2449) * lu(k,2876)
         lu(k,2881) = lu(k,2881) - lu(k,2450) * lu(k,2876)
         lu(k,2882) = lu(k,2882) - lu(k,2451) * lu(k,2876)
         lu(k,2883) = lu(k,2883) - lu(k,2452) * lu(k,2876)
         lu(k,2884) = lu(k,2884) - lu(k,2453) * lu(k,2876)
         lu(k,2885) = lu(k,2885) - lu(k,2454) * lu(k,2876)
         lu(k,2887) = lu(k,2887) - lu(k,2455) * lu(k,2876)
         lu(k,2889) = lu(k,2889) - lu(k,2456) * lu(k,2876)
         lu(k,2891) = lu(k,2891) - lu(k,2457) * lu(k,2876)
         lu(k,2892) = lu(k,2892) - lu(k,2458) * lu(k,2876)
         lu(k,2894) = lu(k,2894) - lu(k,2459) * lu(k,2876)
         lu(k,2895) = lu(k,2895) - lu(k,2460) * lu(k,2876)
         lu(k,2978) = lu(k,2978) - lu(k,2446) * lu(k,2977)
         lu(k,2979) = lu(k,2979) - lu(k,2447) * lu(k,2977)
         lu(k,2980) = lu(k,2980) - lu(k,2448) * lu(k,2977)
         lu(k,2981) = lu(k,2981) - lu(k,2449) * lu(k,2977)
         lu(k,2982) = lu(k,2982) - lu(k,2450) * lu(k,2977)
         lu(k,2983) = lu(k,2983) - lu(k,2451) * lu(k,2977)
         lu(k,2984) = lu(k,2984) - lu(k,2452) * lu(k,2977)
         lu(k,2985) = lu(k,2985) - lu(k,2453) * lu(k,2977)
         lu(k,2986) = lu(k,2986) - lu(k,2454) * lu(k,2977)
         lu(k,2988) = lu(k,2988) - lu(k,2455) * lu(k,2977)
         lu(k,2990) = lu(k,2990) - lu(k,2456) * lu(k,2977)
         lu(k,2992) = lu(k,2992) - lu(k,2457) * lu(k,2977)
         lu(k,2993) = lu(k,2993) - lu(k,2458) * lu(k,2977)
         lu(k,2995) = lu(k,2995) - lu(k,2459) * lu(k,2977)
         lu(k,2996) = lu(k,2996) - lu(k,2460) * lu(k,2977)
         lu(k,3070) = lu(k,3070) - lu(k,2446) * lu(k,3069)
         lu(k,3071) = lu(k,3071) - lu(k,2447) * lu(k,3069)
         lu(k,3072) = lu(k,3072) - lu(k,2448) * lu(k,3069)
         lu(k,3073) = lu(k,3073) - lu(k,2449) * lu(k,3069)
         lu(k,3074) = lu(k,3074) - lu(k,2450) * lu(k,3069)
         lu(k,3075) = lu(k,3075) - lu(k,2451) * lu(k,3069)
         lu(k,3076) = lu(k,3076) - lu(k,2452) * lu(k,3069)
         lu(k,3077) = lu(k,3077) - lu(k,2453) * lu(k,3069)
         lu(k,3078) = lu(k,3078) - lu(k,2454) * lu(k,3069)
         lu(k,3080) = lu(k,3080) - lu(k,2455) * lu(k,3069)
         lu(k,3082) = lu(k,3082) - lu(k,2456) * lu(k,3069)
         lu(k,3084) = lu(k,3084) - lu(k,2457) * lu(k,3069)
         lu(k,3085) = lu(k,3085) - lu(k,2458) * lu(k,3069)
         lu(k,3087) = lu(k,3087) - lu(k,2459) * lu(k,3069)
         lu(k,3088) = lu(k,3088) - lu(k,2460) * lu(k,3069)
         lu(k,3273) = lu(k,3273) - lu(k,2446) * lu(k,3272)
         lu(k,3274) = lu(k,3274) - lu(k,2447) * lu(k,3272)
         lu(k,3275) = lu(k,3275) - lu(k,2448) * lu(k,3272)
         lu(k,3276) = lu(k,3276) - lu(k,2449) * lu(k,3272)
         lu(k,3277) = lu(k,3277) - lu(k,2450) * lu(k,3272)
         lu(k,3278) = lu(k,3278) - lu(k,2451) * lu(k,3272)
         lu(k,3279) = lu(k,3279) - lu(k,2452) * lu(k,3272)
         lu(k,3280) = lu(k,3280) - lu(k,2453) * lu(k,3272)
         lu(k,3281) = lu(k,3281) - lu(k,2454) * lu(k,3272)
         lu(k,3283) = lu(k,3283) - lu(k,2455) * lu(k,3272)
         lu(k,3285) = lu(k,3285) - lu(k,2456) * lu(k,3272)
         lu(k,3287) = lu(k,3287) - lu(k,2457) * lu(k,3272)
         lu(k,3288) = lu(k,3288) - lu(k,2458) * lu(k,3272)
         lu(k,3290) = lu(k,3290) - lu(k,2459) * lu(k,3272)
         lu(k,3291) = lu(k,3291) - lu(k,2460) * lu(k,3272)
         lu(k,3414) = lu(k,3414) - lu(k,2446) * lu(k,3413)
         lu(k,3415) = lu(k,3415) - lu(k,2447) * lu(k,3413)
         lu(k,3416) = lu(k,3416) - lu(k,2448) * lu(k,3413)
         lu(k,3417) = lu(k,3417) - lu(k,2449) * lu(k,3413)
         lu(k,3418) = lu(k,3418) - lu(k,2450) * lu(k,3413)
         lu(k,3419) = lu(k,3419) - lu(k,2451) * lu(k,3413)
         lu(k,3420) = lu(k,3420) - lu(k,2452) * lu(k,3413)
         lu(k,3421) = lu(k,3421) - lu(k,2453) * lu(k,3413)
         lu(k,3422) = lu(k,3422) - lu(k,2454) * lu(k,3413)
         lu(k,3424) = lu(k,3424) - lu(k,2455) * lu(k,3413)
         lu(k,3426) = lu(k,3426) - lu(k,2456) * lu(k,3413)
         lu(k,3428) = lu(k,3428) - lu(k,2457) * lu(k,3413)
         lu(k,3429) = lu(k,3429) - lu(k,2458) * lu(k,3413)
         lu(k,3431) = lu(k,3431) - lu(k,2459) * lu(k,3413)
         lu(k,3432) = lu(k,3432) - lu(k,2460) * lu(k,3413)
         lu(k,3734) = lu(k,3734) - lu(k,2446) * lu(k,3733)
         lu(k,3735) = lu(k,3735) - lu(k,2447) * lu(k,3733)
         lu(k,3736) = lu(k,3736) - lu(k,2448) * lu(k,3733)
         lu(k,3737) = lu(k,3737) - lu(k,2449) * lu(k,3733)
         lu(k,3738) = lu(k,3738) - lu(k,2450) * lu(k,3733)
         lu(k,3739) = lu(k,3739) - lu(k,2451) * lu(k,3733)
         lu(k,3740) = lu(k,3740) - lu(k,2452) * lu(k,3733)
         lu(k,3741) = lu(k,3741) - lu(k,2453) * lu(k,3733)
         lu(k,3742) = lu(k,3742) - lu(k,2454) * lu(k,3733)
         lu(k,3744) = lu(k,3744) - lu(k,2455) * lu(k,3733)
         lu(k,3746) = lu(k,3746) - lu(k,2456) * lu(k,3733)
         lu(k,3748) = lu(k,3748) - lu(k,2457) * lu(k,3733)
         lu(k,3749) = lu(k,3749) - lu(k,2458) * lu(k,3733)
         lu(k,3751) = lu(k,3751) - lu(k,2459) * lu(k,3733)
         lu(k,3752) = lu(k,3752) - lu(k,2460) * lu(k,3733)
      end do
      end subroutine lu_fac46
      subroutine lu_fac47( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,2467) = 1._r8 / lu(k,2467)
         lu(k,2468) = lu(k,2468) * lu(k,2467)
         lu(k,2469) = lu(k,2469) * lu(k,2467)
         lu(k,2470) = lu(k,2470) * lu(k,2467)
         lu(k,2471) = lu(k,2471) * lu(k,2467)
         lu(k,2472) = lu(k,2472) * lu(k,2467)
         lu(k,2473) = lu(k,2473) * lu(k,2467)
         lu(k,2474) = lu(k,2474) * lu(k,2467)
         lu(k,2475) = lu(k,2475) * lu(k,2467)
         lu(k,2476) = lu(k,2476) * lu(k,2467)
         lu(k,2477) = lu(k,2477) * lu(k,2467)
         lu(k,2478) = lu(k,2478) * lu(k,2467)
         lu(k,2479) = lu(k,2479) * lu(k,2467)
         lu(k,2480) = lu(k,2480) * lu(k,2467)
         lu(k,2481) = lu(k,2481) * lu(k,2467)
         lu(k,2489) = lu(k,2489) - lu(k,2468) * lu(k,2488)
         lu(k,2490) = lu(k,2490) - lu(k,2469) * lu(k,2488)
         lu(k,2491) = lu(k,2491) - lu(k,2470) * lu(k,2488)
         lu(k,2492) = lu(k,2492) - lu(k,2471) * lu(k,2488)
         lu(k,2493) = lu(k,2493) - lu(k,2472) * lu(k,2488)
         lu(k,2494) = lu(k,2494) - lu(k,2473) * lu(k,2488)
         lu(k,2495) = lu(k,2495) - lu(k,2474) * lu(k,2488)
         lu(k,2496) = lu(k,2496) - lu(k,2475) * lu(k,2488)
         lu(k,2497) = lu(k,2497) - lu(k,2476) * lu(k,2488)
         lu(k,2498) = lu(k,2498) - lu(k,2477) * lu(k,2488)
         lu(k,2499) = lu(k,2499) - lu(k,2478) * lu(k,2488)
         lu(k,2500) = lu(k,2500) - lu(k,2479) * lu(k,2488)
         lu(k,2501) = lu(k,2501) - lu(k,2480) * lu(k,2488)
         lu(k,2502) = lu(k,2502) - lu(k,2481) * lu(k,2488)
         lu(k,2531) = lu(k,2531) - lu(k,2468) * lu(k,2530)
         lu(k,2532) = lu(k,2532) - lu(k,2469) * lu(k,2530)
         lu(k,2533) = lu(k,2533) - lu(k,2470) * lu(k,2530)
         lu(k,2534) = lu(k,2534) - lu(k,2471) * lu(k,2530)
         lu(k,2535) = lu(k,2535) - lu(k,2472) * lu(k,2530)
         lu(k,2536) = lu(k,2536) - lu(k,2473) * lu(k,2530)
         lu(k,2537) = lu(k,2537) - lu(k,2474) * lu(k,2530)
         lu(k,2538) = lu(k,2538) - lu(k,2475) * lu(k,2530)
         lu(k,2540) = lu(k,2540) - lu(k,2476) * lu(k,2530)
         lu(k,2541) = lu(k,2541) - lu(k,2477) * lu(k,2530)
         lu(k,2542) = lu(k,2542) - lu(k,2478) * lu(k,2530)
         lu(k,2543) = lu(k,2543) - lu(k,2479) * lu(k,2530)
         lu(k,2545) = lu(k,2545) - lu(k,2480) * lu(k,2530)
         lu(k,2546) = lu(k,2546) - lu(k,2481) * lu(k,2530)
         lu(k,2577) = lu(k,2577) - lu(k,2468) * lu(k,2576)
         lu(k,2578) = lu(k,2578) - lu(k,2469) * lu(k,2576)
         lu(k,2579) = lu(k,2579) - lu(k,2470) * lu(k,2576)
         lu(k,2580) = lu(k,2580) - lu(k,2471) * lu(k,2576)
         lu(k,2581) = lu(k,2581) - lu(k,2472) * lu(k,2576)
         lu(k,2582) = lu(k,2582) - lu(k,2473) * lu(k,2576)
         lu(k,2583) = lu(k,2583) - lu(k,2474) * lu(k,2576)
         lu(k,2584) = lu(k,2584) - lu(k,2475) * lu(k,2576)
         lu(k,2586) = lu(k,2586) - lu(k,2476) * lu(k,2576)
         lu(k,2587) = lu(k,2587) - lu(k,2477) * lu(k,2576)
         lu(k,2588) = lu(k,2588) - lu(k,2478) * lu(k,2576)
         lu(k,2589) = lu(k,2589) - lu(k,2479) * lu(k,2576)
         lu(k,2591) = lu(k,2591) - lu(k,2480) * lu(k,2576)
         lu(k,2592) = lu(k,2592) - lu(k,2481) * lu(k,2576)
         lu(k,2624) = lu(k,2624) - lu(k,2468) * lu(k,2623)
         lu(k,2625) = lu(k,2625) - lu(k,2469) * lu(k,2623)
         lu(k,2626) = lu(k,2626) - lu(k,2470) * lu(k,2623)
         lu(k,2627) = lu(k,2627) - lu(k,2471) * lu(k,2623)
         lu(k,2628) = lu(k,2628) - lu(k,2472) * lu(k,2623)
         lu(k,2629) = lu(k,2629) - lu(k,2473) * lu(k,2623)
         lu(k,2630) = lu(k,2630) - lu(k,2474) * lu(k,2623)
         lu(k,2631) = lu(k,2631) - lu(k,2475) * lu(k,2623)
         lu(k,2633) = lu(k,2633) - lu(k,2476) * lu(k,2623)
         lu(k,2634) = lu(k,2634) - lu(k,2477) * lu(k,2623)
         lu(k,2635) = lu(k,2635) - lu(k,2478) * lu(k,2623)
         lu(k,2636) = lu(k,2636) - lu(k,2479) * lu(k,2623)
         lu(k,2638) = lu(k,2638) - lu(k,2480) * lu(k,2623)
         lu(k,2639) = lu(k,2639) - lu(k,2481) * lu(k,2623)
         lu(k,2695) = lu(k,2695) - lu(k,2468) * lu(k,2694)
         lu(k,2696) = lu(k,2696) - lu(k,2469) * lu(k,2694)
         lu(k,2697) = lu(k,2697) - lu(k,2470) * lu(k,2694)
         lu(k,2698) = lu(k,2698) - lu(k,2471) * lu(k,2694)
         lu(k,2699) = lu(k,2699) - lu(k,2472) * lu(k,2694)
         lu(k,2700) = lu(k,2700) - lu(k,2473) * lu(k,2694)
         lu(k,2701) = lu(k,2701) - lu(k,2474) * lu(k,2694)
         lu(k,2702) = lu(k,2702) - lu(k,2475) * lu(k,2694)
         lu(k,2704) = lu(k,2704) - lu(k,2476) * lu(k,2694)
         lu(k,2705) = lu(k,2705) - lu(k,2477) * lu(k,2694)
         lu(k,2706) = lu(k,2706) - lu(k,2478) * lu(k,2694)
         lu(k,2707) = lu(k,2707) - lu(k,2479) * lu(k,2694)
         lu(k,2709) = lu(k,2709) - lu(k,2480) * lu(k,2694)
         lu(k,2710) = lu(k,2710) - lu(k,2481) * lu(k,2694)
         lu(k,2878) = lu(k,2878) - lu(k,2468) * lu(k,2877)
         lu(k,2879) = lu(k,2879) - lu(k,2469) * lu(k,2877)
         lu(k,2880) = lu(k,2880) - lu(k,2470) * lu(k,2877)
         lu(k,2881) = lu(k,2881) - lu(k,2471) * lu(k,2877)
         lu(k,2882) = lu(k,2882) - lu(k,2472) * lu(k,2877)
         lu(k,2883) = lu(k,2883) - lu(k,2473) * lu(k,2877)
         lu(k,2884) = lu(k,2884) - lu(k,2474) * lu(k,2877)
         lu(k,2885) = lu(k,2885) - lu(k,2475) * lu(k,2877)
         lu(k,2887) = lu(k,2887) - lu(k,2476) * lu(k,2877)
         lu(k,2889) = lu(k,2889) - lu(k,2477) * lu(k,2877)
         lu(k,2891) = lu(k,2891) - lu(k,2478) * lu(k,2877)
         lu(k,2892) = lu(k,2892) - lu(k,2479) * lu(k,2877)
         lu(k,2894) = lu(k,2894) - lu(k,2480) * lu(k,2877)
         lu(k,2895) = lu(k,2895) - lu(k,2481) * lu(k,2877)
         lu(k,2979) = lu(k,2979) - lu(k,2468) * lu(k,2978)
         lu(k,2980) = lu(k,2980) - lu(k,2469) * lu(k,2978)
         lu(k,2981) = lu(k,2981) - lu(k,2470) * lu(k,2978)
         lu(k,2982) = lu(k,2982) - lu(k,2471) * lu(k,2978)
         lu(k,2983) = lu(k,2983) - lu(k,2472) * lu(k,2978)
         lu(k,2984) = lu(k,2984) - lu(k,2473) * lu(k,2978)
         lu(k,2985) = lu(k,2985) - lu(k,2474) * lu(k,2978)
         lu(k,2986) = lu(k,2986) - lu(k,2475) * lu(k,2978)
         lu(k,2988) = lu(k,2988) - lu(k,2476) * lu(k,2978)
         lu(k,2990) = lu(k,2990) - lu(k,2477) * lu(k,2978)
         lu(k,2992) = lu(k,2992) - lu(k,2478) * lu(k,2978)
         lu(k,2993) = lu(k,2993) - lu(k,2479) * lu(k,2978)
         lu(k,2995) = lu(k,2995) - lu(k,2480) * lu(k,2978)
         lu(k,2996) = lu(k,2996) - lu(k,2481) * lu(k,2978)
         lu(k,3071) = lu(k,3071) - lu(k,2468) * lu(k,3070)
         lu(k,3072) = lu(k,3072) - lu(k,2469) * lu(k,3070)
         lu(k,3073) = lu(k,3073) - lu(k,2470) * lu(k,3070)
         lu(k,3074) = lu(k,3074) - lu(k,2471) * lu(k,3070)
         lu(k,3075) = lu(k,3075) - lu(k,2472) * lu(k,3070)
         lu(k,3076) = lu(k,3076) - lu(k,2473) * lu(k,3070)
         lu(k,3077) = lu(k,3077) - lu(k,2474) * lu(k,3070)
         lu(k,3078) = lu(k,3078) - lu(k,2475) * lu(k,3070)
         lu(k,3080) = lu(k,3080) - lu(k,2476) * lu(k,3070)
         lu(k,3082) = lu(k,3082) - lu(k,2477) * lu(k,3070)
         lu(k,3084) = lu(k,3084) - lu(k,2478) * lu(k,3070)
         lu(k,3085) = lu(k,3085) - lu(k,2479) * lu(k,3070)
         lu(k,3087) = lu(k,3087) - lu(k,2480) * lu(k,3070)
         lu(k,3088) = lu(k,3088) - lu(k,2481) * lu(k,3070)
         lu(k,3274) = lu(k,3274) - lu(k,2468) * lu(k,3273)
         lu(k,3275) = lu(k,3275) - lu(k,2469) * lu(k,3273)
         lu(k,3276) = lu(k,3276) - lu(k,2470) * lu(k,3273)
         lu(k,3277) = lu(k,3277) - lu(k,2471) * lu(k,3273)
         lu(k,3278) = lu(k,3278) - lu(k,2472) * lu(k,3273)
         lu(k,3279) = lu(k,3279) - lu(k,2473) * lu(k,3273)
         lu(k,3280) = lu(k,3280) - lu(k,2474) * lu(k,3273)
         lu(k,3281) = lu(k,3281) - lu(k,2475) * lu(k,3273)
         lu(k,3283) = lu(k,3283) - lu(k,2476) * lu(k,3273)
         lu(k,3285) = lu(k,3285) - lu(k,2477) * lu(k,3273)
         lu(k,3287) = lu(k,3287) - lu(k,2478) * lu(k,3273)
         lu(k,3288) = lu(k,3288) - lu(k,2479) * lu(k,3273)
         lu(k,3290) = lu(k,3290) - lu(k,2480) * lu(k,3273)
         lu(k,3291) = lu(k,3291) - lu(k,2481) * lu(k,3273)
         lu(k,3415) = lu(k,3415) - lu(k,2468) * lu(k,3414)
         lu(k,3416) = lu(k,3416) - lu(k,2469) * lu(k,3414)
         lu(k,3417) = lu(k,3417) - lu(k,2470) * lu(k,3414)
         lu(k,3418) = lu(k,3418) - lu(k,2471) * lu(k,3414)
         lu(k,3419) = lu(k,3419) - lu(k,2472) * lu(k,3414)
         lu(k,3420) = lu(k,3420) - lu(k,2473) * lu(k,3414)
         lu(k,3421) = lu(k,3421) - lu(k,2474) * lu(k,3414)
         lu(k,3422) = lu(k,3422) - lu(k,2475) * lu(k,3414)
         lu(k,3424) = lu(k,3424) - lu(k,2476) * lu(k,3414)
         lu(k,3426) = lu(k,3426) - lu(k,2477) * lu(k,3414)
         lu(k,3428) = lu(k,3428) - lu(k,2478) * lu(k,3414)
         lu(k,3429) = lu(k,3429) - lu(k,2479) * lu(k,3414)
         lu(k,3431) = lu(k,3431) - lu(k,2480) * lu(k,3414)
         lu(k,3432) = lu(k,3432) - lu(k,2481) * lu(k,3414)
         lu(k,3735) = lu(k,3735) - lu(k,2468) * lu(k,3734)
         lu(k,3736) = lu(k,3736) - lu(k,2469) * lu(k,3734)
         lu(k,3737) = lu(k,3737) - lu(k,2470) * lu(k,3734)
         lu(k,3738) = lu(k,3738) - lu(k,2471) * lu(k,3734)
         lu(k,3739) = lu(k,3739) - lu(k,2472) * lu(k,3734)
         lu(k,3740) = lu(k,3740) - lu(k,2473) * lu(k,3734)
         lu(k,3741) = lu(k,3741) - lu(k,2474) * lu(k,3734)
         lu(k,3742) = lu(k,3742) - lu(k,2475) * lu(k,3734)
         lu(k,3744) = lu(k,3744) - lu(k,2476) * lu(k,3734)
         lu(k,3746) = lu(k,3746) - lu(k,2477) * lu(k,3734)
         lu(k,3748) = lu(k,3748) - lu(k,2478) * lu(k,3734)
         lu(k,3749) = lu(k,3749) - lu(k,2479) * lu(k,3734)
         lu(k,3751) = lu(k,3751) - lu(k,2480) * lu(k,3734)
         lu(k,3752) = lu(k,3752) - lu(k,2481) * lu(k,3734)
         lu(k,2489) = 1._r8 / lu(k,2489)
         lu(k,2490) = lu(k,2490) * lu(k,2489)
         lu(k,2491) = lu(k,2491) * lu(k,2489)
         lu(k,2492) = lu(k,2492) * lu(k,2489)
         lu(k,2493) = lu(k,2493) * lu(k,2489)
         lu(k,2494) = lu(k,2494) * lu(k,2489)
         lu(k,2495) = lu(k,2495) * lu(k,2489)
         lu(k,2496) = lu(k,2496) * lu(k,2489)
         lu(k,2497) = lu(k,2497) * lu(k,2489)
         lu(k,2498) = lu(k,2498) * lu(k,2489)
         lu(k,2499) = lu(k,2499) * lu(k,2489)
         lu(k,2500) = lu(k,2500) * lu(k,2489)
         lu(k,2501) = lu(k,2501) * lu(k,2489)
         lu(k,2502) = lu(k,2502) * lu(k,2489)
         lu(k,2503) = lu(k,2503) * lu(k,2489)
         lu(k,2532) = lu(k,2532) - lu(k,2490) * lu(k,2531)
         lu(k,2533) = lu(k,2533) - lu(k,2491) * lu(k,2531)
         lu(k,2534) = lu(k,2534) - lu(k,2492) * lu(k,2531)
         lu(k,2535) = lu(k,2535) - lu(k,2493) * lu(k,2531)
         lu(k,2536) = lu(k,2536) - lu(k,2494) * lu(k,2531)
         lu(k,2537) = lu(k,2537) - lu(k,2495) * lu(k,2531)
         lu(k,2538) = lu(k,2538) - lu(k,2496) * lu(k,2531)
         lu(k,2540) = lu(k,2540) - lu(k,2497) * lu(k,2531)
         lu(k,2541) = lu(k,2541) - lu(k,2498) * lu(k,2531)
         lu(k,2542) = lu(k,2542) - lu(k,2499) * lu(k,2531)
         lu(k,2543) = lu(k,2543) - lu(k,2500) * lu(k,2531)
         lu(k,2545) = lu(k,2545) - lu(k,2501) * lu(k,2531)
         lu(k,2546) = lu(k,2546) - lu(k,2502) * lu(k,2531)
         lu(k,2549) = lu(k,2549) - lu(k,2503) * lu(k,2531)
         lu(k,2578) = lu(k,2578) - lu(k,2490) * lu(k,2577)
         lu(k,2579) = lu(k,2579) - lu(k,2491) * lu(k,2577)
         lu(k,2580) = lu(k,2580) - lu(k,2492) * lu(k,2577)
         lu(k,2581) = lu(k,2581) - lu(k,2493) * lu(k,2577)
         lu(k,2582) = lu(k,2582) - lu(k,2494) * lu(k,2577)
         lu(k,2583) = lu(k,2583) - lu(k,2495) * lu(k,2577)
         lu(k,2584) = lu(k,2584) - lu(k,2496) * lu(k,2577)
         lu(k,2586) = lu(k,2586) - lu(k,2497) * lu(k,2577)
         lu(k,2587) = lu(k,2587) - lu(k,2498) * lu(k,2577)
         lu(k,2588) = lu(k,2588) - lu(k,2499) * lu(k,2577)
         lu(k,2589) = lu(k,2589) - lu(k,2500) * lu(k,2577)
         lu(k,2591) = lu(k,2591) - lu(k,2501) * lu(k,2577)
         lu(k,2592) = lu(k,2592) - lu(k,2502) * lu(k,2577)
         lu(k,2595) = lu(k,2595) - lu(k,2503) * lu(k,2577)
         lu(k,2625) = lu(k,2625) - lu(k,2490) * lu(k,2624)
         lu(k,2626) = lu(k,2626) - lu(k,2491) * lu(k,2624)
         lu(k,2627) = lu(k,2627) - lu(k,2492) * lu(k,2624)
         lu(k,2628) = lu(k,2628) - lu(k,2493) * lu(k,2624)
         lu(k,2629) = lu(k,2629) - lu(k,2494) * lu(k,2624)
         lu(k,2630) = lu(k,2630) - lu(k,2495) * lu(k,2624)
         lu(k,2631) = lu(k,2631) - lu(k,2496) * lu(k,2624)
         lu(k,2633) = lu(k,2633) - lu(k,2497) * lu(k,2624)
         lu(k,2634) = lu(k,2634) - lu(k,2498) * lu(k,2624)
         lu(k,2635) = lu(k,2635) - lu(k,2499) * lu(k,2624)
         lu(k,2636) = lu(k,2636) - lu(k,2500) * lu(k,2624)
         lu(k,2638) = lu(k,2638) - lu(k,2501) * lu(k,2624)
         lu(k,2639) = lu(k,2639) - lu(k,2502) * lu(k,2624)
         lu(k,2642) = lu(k,2642) - lu(k,2503) * lu(k,2624)
         lu(k,2696) = lu(k,2696) - lu(k,2490) * lu(k,2695)
         lu(k,2697) = lu(k,2697) - lu(k,2491) * lu(k,2695)
         lu(k,2698) = lu(k,2698) - lu(k,2492) * lu(k,2695)
         lu(k,2699) = lu(k,2699) - lu(k,2493) * lu(k,2695)
         lu(k,2700) = lu(k,2700) - lu(k,2494) * lu(k,2695)
         lu(k,2701) = lu(k,2701) - lu(k,2495) * lu(k,2695)
         lu(k,2702) = lu(k,2702) - lu(k,2496) * lu(k,2695)
         lu(k,2704) = lu(k,2704) - lu(k,2497) * lu(k,2695)
         lu(k,2705) = lu(k,2705) - lu(k,2498) * lu(k,2695)
         lu(k,2706) = lu(k,2706) - lu(k,2499) * lu(k,2695)
         lu(k,2707) = lu(k,2707) - lu(k,2500) * lu(k,2695)
         lu(k,2709) = lu(k,2709) - lu(k,2501) * lu(k,2695)
         lu(k,2710) = lu(k,2710) - lu(k,2502) * lu(k,2695)
         lu(k,2713) = lu(k,2713) - lu(k,2503) * lu(k,2695)
         lu(k,2879) = lu(k,2879) - lu(k,2490) * lu(k,2878)
         lu(k,2880) = lu(k,2880) - lu(k,2491) * lu(k,2878)
         lu(k,2881) = lu(k,2881) - lu(k,2492) * lu(k,2878)
         lu(k,2882) = lu(k,2882) - lu(k,2493) * lu(k,2878)
         lu(k,2883) = lu(k,2883) - lu(k,2494) * lu(k,2878)
         lu(k,2884) = lu(k,2884) - lu(k,2495) * lu(k,2878)
         lu(k,2885) = lu(k,2885) - lu(k,2496) * lu(k,2878)
         lu(k,2887) = lu(k,2887) - lu(k,2497) * lu(k,2878)
         lu(k,2889) = lu(k,2889) - lu(k,2498) * lu(k,2878)
         lu(k,2891) = lu(k,2891) - lu(k,2499) * lu(k,2878)
         lu(k,2892) = lu(k,2892) - lu(k,2500) * lu(k,2878)
         lu(k,2894) = lu(k,2894) - lu(k,2501) * lu(k,2878)
         lu(k,2895) = lu(k,2895) - lu(k,2502) * lu(k,2878)
         lu(k,2899) = lu(k,2899) - lu(k,2503) * lu(k,2878)
         lu(k,2980) = lu(k,2980) - lu(k,2490) * lu(k,2979)
         lu(k,2981) = lu(k,2981) - lu(k,2491) * lu(k,2979)
         lu(k,2982) = lu(k,2982) - lu(k,2492) * lu(k,2979)
         lu(k,2983) = lu(k,2983) - lu(k,2493) * lu(k,2979)
         lu(k,2984) = lu(k,2984) - lu(k,2494) * lu(k,2979)
         lu(k,2985) = lu(k,2985) - lu(k,2495) * lu(k,2979)
         lu(k,2986) = lu(k,2986) - lu(k,2496) * lu(k,2979)
         lu(k,2988) = lu(k,2988) - lu(k,2497) * lu(k,2979)
         lu(k,2990) = lu(k,2990) - lu(k,2498) * lu(k,2979)
         lu(k,2992) = lu(k,2992) - lu(k,2499) * lu(k,2979)
         lu(k,2993) = lu(k,2993) - lu(k,2500) * lu(k,2979)
         lu(k,2995) = lu(k,2995) - lu(k,2501) * lu(k,2979)
         lu(k,2996) = lu(k,2996) - lu(k,2502) * lu(k,2979)
         lu(k,3000) = lu(k,3000) - lu(k,2503) * lu(k,2979)
         lu(k,3072) = lu(k,3072) - lu(k,2490) * lu(k,3071)
         lu(k,3073) = lu(k,3073) - lu(k,2491) * lu(k,3071)
         lu(k,3074) = lu(k,3074) - lu(k,2492) * lu(k,3071)
         lu(k,3075) = lu(k,3075) - lu(k,2493) * lu(k,3071)
         lu(k,3076) = lu(k,3076) - lu(k,2494) * lu(k,3071)
         lu(k,3077) = lu(k,3077) - lu(k,2495) * lu(k,3071)
         lu(k,3078) = lu(k,3078) - lu(k,2496) * lu(k,3071)
         lu(k,3080) = lu(k,3080) - lu(k,2497) * lu(k,3071)
         lu(k,3082) = lu(k,3082) - lu(k,2498) * lu(k,3071)
         lu(k,3084) = lu(k,3084) - lu(k,2499) * lu(k,3071)
         lu(k,3085) = lu(k,3085) - lu(k,2500) * lu(k,3071)
         lu(k,3087) = lu(k,3087) - lu(k,2501) * lu(k,3071)
         lu(k,3088) = lu(k,3088) - lu(k,2502) * lu(k,3071)
         lu(k,3092) = lu(k,3092) - lu(k,2503) * lu(k,3071)
         lu(k,3275) = lu(k,3275) - lu(k,2490) * lu(k,3274)
         lu(k,3276) = lu(k,3276) - lu(k,2491) * lu(k,3274)
         lu(k,3277) = lu(k,3277) - lu(k,2492) * lu(k,3274)
         lu(k,3278) = lu(k,3278) - lu(k,2493) * lu(k,3274)
         lu(k,3279) = lu(k,3279) - lu(k,2494) * lu(k,3274)
         lu(k,3280) = lu(k,3280) - lu(k,2495) * lu(k,3274)
         lu(k,3281) = lu(k,3281) - lu(k,2496) * lu(k,3274)
         lu(k,3283) = lu(k,3283) - lu(k,2497) * lu(k,3274)
         lu(k,3285) = lu(k,3285) - lu(k,2498) * lu(k,3274)
         lu(k,3287) = lu(k,3287) - lu(k,2499) * lu(k,3274)
         lu(k,3288) = lu(k,3288) - lu(k,2500) * lu(k,3274)
         lu(k,3290) = lu(k,3290) - lu(k,2501) * lu(k,3274)
         lu(k,3291) = lu(k,3291) - lu(k,2502) * lu(k,3274)
         lu(k,3295) = lu(k,3295) - lu(k,2503) * lu(k,3274)
         lu(k,3416) = lu(k,3416) - lu(k,2490) * lu(k,3415)
         lu(k,3417) = lu(k,3417) - lu(k,2491) * lu(k,3415)
         lu(k,3418) = lu(k,3418) - lu(k,2492) * lu(k,3415)
         lu(k,3419) = lu(k,3419) - lu(k,2493) * lu(k,3415)
         lu(k,3420) = lu(k,3420) - lu(k,2494) * lu(k,3415)
         lu(k,3421) = lu(k,3421) - lu(k,2495) * lu(k,3415)
         lu(k,3422) = lu(k,3422) - lu(k,2496) * lu(k,3415)
         lu(k,3424) = lu(k,3424) - lu(k,2497) * lu(k,3415)
         lu(k,3426) = lu(k,3426) - lu(k,2498) * lu(k,3415)
         lu(k,3428) = lu(k,3428) - lu(k,2499) * lu(k,3415)
         lu(k,3429) = lu(k,3429) - lu(k,2500) * lu(k,3415)
         lu(k,3431) = lu(k,3431) - lu(k,2501) * lu(k,3415)
         lu(k,3432) = lu(k,3432) - lu(k,2502) * lu(k,3415)
         lu(k,3436) = lu(k,3436) - lu(k,2503) * lu(k,3415)
         lu(k,3496) = lu(k,3496) - lu(k,2490) * lu(k,3495)
         lu(k,3497) = lu(k,3497) - lu(k,2491) * lu(k,3495)
         lu(k,3498) = lu(k,3498) - lu(k,2492) * lu(k,3495)
         lu(k,3499) = lu(k,3499) - lu(k,2493) * lu(k,3495)
         lu(k,3500) = lu(k,3500) - lu(k,2494) * lu(k,3495)
         lu(k,3501) = lu(k,3501) - lu(k,2495) * lu(k,3495)
         lu(k,3502) = lu(k,3502) - lu(k,2496) * lu(k,3495)
         lu(k,3504) = lu(k,3504) - lu(k,2497) * lu(k,3495)
         lu(k,3506) = lu(k,3506) - lu(k,2498) * lu(k,3495)
         lu(k,3508) = lu(k,3508) - lu(k,2499) * lu(k,3495)
         lu(k,3509) = lu(k,3509) - lu(k,2500) * lu(k,3495)
         lu(k,3511) = lu(k,3511) - lu(k,2501) * lu(k,3495)
         lu(k,3512) = lu(k,3512) - lu(k,2502) * lu(k,3495)
         lu(k,3516) = lu(k,3516) - lu(k,2503) * lu(k,3495)
         lu(k,3736) = lu(k,3736) - lu(k,2490) * lu(k,3735)
         lu(k,3737) = lu(k,3737) - lu(k,2491) * lu(k,3735)
         lu(k,3738) = lu(k,3738) - lu(k,2492) * lu(k,3735)
         lu(k,3739) = lu(k,3739) - lu(k,2493) * lu(k,3735)
         lu(k,3740) = lu(k,3740) - lu(k,2494) * lu(k,3735)
         lu(k,3741) = lu(k,3741) - lu(k,2495) * lu(k,3735)
         lu(k,3742) = lu(k,3742) - lu(k,2496) * lu(k,3735)
         lu(k,3744) = lu(k,3744) - lu(k,2497) * lu(k,3735)
         lu(k,3746) = lu(k,3746) - lu(k,2498) * lu(k,3735)
         lu(k,3748) = lu(k,3748) - lu(k,2499) * lu(k,3735)
         lu(k,3749) = lu(k,3749) - lu(k,2500) * lu(k,3735)
         lu(k,3751) = lu(k,3751) - lu(k,2501) * lu(k,3735)
         lu(k,3752) = lu(k,3752) - lu(k,2502) * lu(k,3735)
         lu(k,3756) = lu(k,3756) - lu(k,2503) * lu(k,3735)
         lu(k,2532) = 1._r8 / lu(k,2532)
         lu(k,2533) = lu(k,2533) * lu(k,2532)
         lu(k,2534) = lu(k,2534) * lu(k,2532)
         lu(k,2535) = lu(k,2535) * lu(k,2532)
         lu(k,2536) = lu(k,2536) * lu(k,2532)
         lu(k,2537) = lu(k,2537) * lu(k,2532)
         lu(k,2538) = lu(k,2538) * lu(k,2532)
         lu(k,2539) = lu(k,2539) * lu(k,2532)
         lu(k,2540) = lu(k,2540) * lu(k,2532)
         lu(k,2541) = lu(k,2541) * lu(k,2532)
         lu(k,2542) = lu(k,2542) * lu(k,2532)
         lu(k,2543) = lu(k,2543) * lu(k,2532)
         lu(k,2544) = lu(k,2544) * lu(k,2532)
         lu(k,2545) = lu(k,2545) * lu(k,2532)
         lu(k,2546) = lu(k,2546) * lu(k,2532)
         lu(k,2547) = lu(k,2547) * lu(k,2532)
         lu(k,2548) = lu(k,2548) * lu(k,2532)
         lu(k,2549) = lu(k,2549) * lu(k,2532)
         lu(k,2579) = lu(k,2579) - lu(k,2533) * lu(k,2578)
         lu(k,2580) = lu(k,2580) - lu(k,2534) * lu(k,2578)
         lu(k,2581) = lu(k,2581) - lu(k,2535) * lu(k,2578)
         lu(k,2582) = lu(k,2582) - lu(k,2536) * lu(k,2578)
         lu(k,2583) = lu(k,2583) - lu(k,2537) * lu(k,2578)
         lu(k,2584) = lu(k,2584) - lu(k,2538) * lu(k,2578)
         lu(k,2585) = lu(k,2585) - lu(k,2539) * lu(k,2578)
         lu(k,2586) = lu(k,2586) - lu(k,2540) * lu(k,2578)
         lu(k,2587) = lu(k,2587) - lu(k,2541) * lu(k,2578)
         lu(k,2588) = lu(k,2588) - lu(k,2542) * lu(k,2578)
         lu(k,2589) = lu(k,2589) - lu(k,2543) * lu(k,2578)
         lu(k,2590) = lu(k,2590) - lu(k,2544) * lu(k,2578)
         lu(k,2591) = lu(k,2591) - lu(k,2545) * lu(k,2578)
         lu(k,2592) = lu(k,2592) - lu(k,2546) * lu(k,2578)
         lu(k,2593) = lu(k,2593) - lu(k,2547) * lu(k,2578)
         lu(k,2594) = lu(k,2594) - lu(k,2548) * lu(k,2578)
         lu(k,2595) = lu(k,2595) - lu(k,2549) * lu(k,2578)
         lu(k,2626) = lu(k,2626) - lu(k,2533) * lu(k,2625)
         lu(k,2627) = lu(k,2627) - lu(k,2534) * lu(k,2625)
         lu(k,2628) = lu(k,2628) - lu(k,2535) * lu(k,2625)
         lu(k,2629) = lu(k,2629) - lu(k,2536) * lu(k,2625)
         lu(k,2630) = lu(k,2630) - lu(k,2537) * lu(k,2625)
         lu(k,2631) = lu(k,2631) - lu(k,2538) * lu(k,2625)
         lu(k,2632) = lu(k,2632) - lu(k,2539) * lu(k,2625)
         lu(k,2633) = lu(k,2633) - lu(k,2540) * lu(k,2625)
         lu(k,2634) = lu(k,2634) - lu(k,2541) * lu(k,2625)
         lu(k,2635) = lu(k,2635) - lu(k,2542) * lu(k,2625)
         lu(k,2636) = lu(k,2636) - lu(k,2543) * lu(k,2625)
         lu(k,2637) = lu(k,2637) - lu(k,2544) * lu(k,2625)
         lu(k,2638) = lu(k,2638) - lu(k,2545) * lu(k,2625)
         lu(k,2639) = lu(k,2639) - lu(k,2546) * lu(k,2625)
         lu(k,2640) = lu(k,2640) - lu(k,2547) * lu(k,2625)
         lu(k,2641) = lu(k,2641) - lu(k,2548) * lu(k,2625)
         lu(k,2642) = lu(k,2642) - lu(k,2549) * lu(k,2625)
         lu(k,2697) = lu(k,2697) - lu(k,2533) * lu(k,2696)
         lu(k,2698) = lu(k,2698) - lu(k,2534) * lu(k,2696)
         lu(k,2699) = lu(k,2699) - lu(k,2535) * lu(k,2696)
         lu(k,2700) = lu(k,2700) - lu(k,2536) * lu(k,2696)
         lu(k,2701) = lu(k,2701) - lu(k,2537) * lu(k,2696)
         lu(k,2702) = lu(k,2702) - lu(k,2538) * lu(k,2696)
         lu(k,2703) = lu(k,2703) - lu(k,2539) * lu(k,2696)
         lu(k,2704) = lu(k,2704) - lu(k,2540) * lu(k,2696)
         lu(k,2705) = lu(k,2705) - lu(k,2541) * lu(k,2696)
         lu(k,2706) = lu(k,2706) - lu(k,2542) * lu(k,2696)
         lu(k,2707) = lu(k,2707) - lu(k,2543) * lu(k,2696)
         lu(k,2708) = lu(k,2708) - lu(k,2544) * lu(k,2696)
         lu(k,2709) = lu(k,2709) - lu(k,2545) * lu(k,2696)
         lu(k,2710) = lu(k,2710) - lu(k,2546) * lu(k,2696)
         lu(k,2711) = lu(k,2711) - lu(k,2547) * lu(k,2696)
         lu(k,2712) = lu(k,2712) - lu(k,2548) * lu(k,2696)
         lu(k,2713) = lu(k,2713) - lu(k,2549) * lu(k,2696)
         lu(k,2880) = lu(k,2880) - lu(k,2533) * lu(k,2879)
         lu(k,2881) = lu(k,2881) - lu(k,2534) * lu(k,2879)
         lu(k,2882) = lu(k,2882) - lu(k,2535) * lu(k,2879)
         lu(k,2883) = lu(k,2883) - lu(k,2536) * lu(k,2879)
         lu(k,2884) = lu(k,2884) - lu(k,2537) * lu(k,2879)
         lu(k,2885) = lu(k,2885) - lu(k,2538) * lu(k,2879)
         lu(k,2886) = lu(k,2886) - lu(k,2539) * lu(k,2879)
         lu(k,2887) = lu(k,2887) - lu(k,2540) * lu(k,2879)
         lu(k,2889) = lu(k,2889) - lu(k,2541) * lu(k,2879)
         lu(k,2891) = lu(k,2891) - lu(k,2542) * lu(k,2879)
         lu(k,2892) = lu(k,2892) - lu(k,2543) * lu(k,2879)
         lu(k,2893) = lu(k,2893) - lu(k,2544) * lu(k,2879)
         lu(k,2894) = lu(k,2894) - lu(k,2545) * lu(k,2879)
         lu(k,2895) = lu(k,2895) - lu(k,2546) * lu(k,2879)
         lu(k,2896) = lu(k,2896) - lu(k,2547) * lu(k,2879)
         lu(k,2898) = lu(k,2898) - lu(k,2548) * lu(k,2879)
         lu(k,2899) = lu(k,2899) - lu(k,2549) * lu(k,2879)
         lu(k,2981) = lu(k,2981) - lu(k,2533) * lu(k,2980)
         lu(k,2982) = lu(k,2982) - lu(k,2534) * lu(k,2980)
         lu(k,2983) = lu(k,2983) - lu(k,2535) * lu(k,2980)
         lu(k,2984) = lu(k,2984) - lu(k,2536) * lu(k,2980)
         lu(k,2985) = lu(k,2985) - lu(k,2537) * lu(k,2980)
         lu(k,2986) = lu(k,2986) - lu(k,2538) * lu(k,2980)
         lu(k,2987) = lu(k,2987) - lu(k,2539) * lu(k,2980)
         lu(k,2988) = lu(k,2988) - lu(k,2540) * lu(k,2980)
         lu(k,2990) = lu(k,2990) - lu(k,2541) * lu(k,2980)
         lu(k,2992) = lu(k,2992) - lu(k,2542) * lu(k,2980)
         lu(k,2993) = lu(k,2993) - lu(k,2543) * lu(k,2980)
         lu(k,2994) = lu(k,2994) - lu(k,2544) * lu(k,2980)
         lu(k,2995) = lu(k,2995) - lu(k,2545) * lu(k,2980)
         lu(k,2996) = lu(k,2996) - lu(k,2546) * lu(k,2980)
         lu(k,2997) = lu(k,2997) - lu(k,2547) * lu(k,2980)
         lu(k,2999) = lu(k,2999) - lu(k,2548) * lu(k,2980)
         lu(k,3000) = lu(k,3000) - lu(k,2549) * lu(k,2980)
         lu(k,3073) = lu(k,3073) - lu(k,2533) * lu(k,3072)
         lu(k,3074) = lu(k,3074) - lu(k,2534) * lu(k,3072)
         lu(k,3075) = lu(k,3075) - lu(k,2535) * lu(k,3072)
         lu(k,3076) = lu(k,3076) - lu(k,2536) * lu(k,3072)
         lu(k,3077) = lu(k,3077) - lu(k,2537) * lu(k,3072)
         lu(k,3078) = lu(k,3078) - lu(k,2538) * lu(k,3072)
         lu(k,3079) = lu(k,3079) - lu(k,2539) * lu(k,3072)
         lu(k,3080) = lu(k,3080) - lu(k,2540) * lu(k,3072)
         lu(k,3082) = lu(k,3082) - lu(k,2541) * lu(k,3072)
         lu(k,3084) = lu(k,3084) - lu(k,2542) * lu(k,3072)
         lu(k,3085) = lu(k,3085) - lu(k,2543) * lu(k,3072)
         lu(k,3086) = lu(k,3086) - lu(k,2544) * lu(k,3072)
         lu(k,3087) = lu(k,3087) - lu(k,2545) * lu(k,3072)
         lu(k,3088) = lu(k,3088) - lu(k,2546) * lu(k,3072)
         lu(k,3089) = lu(k,3089) - lu(k,2547) * lu(k,3072)
         lu(k,3091) = lu(k,3091) - lu(k,2548) * lu(k,3072)
         lu(k,3092) = lu(k,3092) - lu(k,2549) * lu(k,3072)
         lu(k,3276) = lu(k,3276) - lu(k,2533) * lu(k,3275)
         lu(k,3277) = lu(k,3277) - lu(k,2534) * lu(k,3275)
         lu(k,3278) = lu(k,3278) - lu(k,2535) * lu(k,3275)
         lu(k,3279) = lu(k,3279) - lu(k,2536) * lu(k,3275)
         lu(k,3280) = lu(k,3280) - lu(k,2537) * lu(k,3275)
         lu(k,3281) = lu(k,3281) - lu(k,2538) * lu(k,3275)
         lu(k,3282) = lu(k,3282) - lu(k,2539) * lu(k,3275)
         lu(k,3283) = lu(k,3283) - lu(k,2540) * lu(k,3275)
         lu(k,3285) = lu(k,3285) - lu(k,2541) * lu(k,3275)
         lu(k,3287) = lu(k,3287) - lu(k,2542) * lu(k,3275)
         lu(k,3288) = lu(k,3288) - lu(k,2543) * lu(k,3275)
         lu(k,3289) = lu(k,3289) - lu(k,2544) * lu(k,3275)
         lu(k,3290) = lu(k,3290) - lu(k,2545) * lu(k,3275)
         lu(k,3291) = lu(k,3291) - lu(k,2546) * lu(k,3275)
         lu(k,3292) = lu(k,3292) - lu(k,2547) * lu(k,3275)
         lu(k,3294) = lu(k,3294) - lu(k,2548) * lu(k,3275)
         lu(k,3295) = lu(k,3295) - lu(k,2549) * lu(k,3275)
         lu(k,3417) = lu(k,3417) - lu(k,2533) * lu(k,3416)
         lu(k,3418) = lu(k,3418) - lu(k,2534) * lu(k,3416)
         lu(k,3419) = lu(k,3419) - lu(k,2535) * lu(k,3416)
         lu(k,3420) = lu(k,3420) - lu(k,2536) * lu(k,3416)
         lu(k,3421) = lu(k,3421) - lu(k,2537) * lu(k,3416)
         lu(k,3422) = lu(k,3422) - lu(k,2538) * lu(k,3416)
         lu(k,3423) = lu(k,3423) - lu(k,2539) * lu(k,3416)
         lu(k,3424) = lu(k,3424) - lu(k,2540) * lu(k,3416)
         lu(k,3426) = lu(k,3426) - lu(k,2541) * lu(k,3416)
         lu(k,3428) = lu(k,3428) - lu(k,2542) * lu(k,3416)
         lu(k,3429) = lu(k,3429) - lu(k,2543) * lu(k,3416)
         lu(k,3430) = lu(k,3430) - lu(k,2544) * lu(k,3416)
         lu(k,3431) = lu(k,3431) - lu(k,2545) * lu(k,3416)
         lu(k,3432) = lu(k,3432) - lu(k,2546) * lu(k,3416)
         lu(k,3433) = lu(k,3433) - lu(k,2547) * lu(k,3416)
         lu(k,3435) = lu(k,3435) - lu(k,2548) * lu(k,3416)
         lu(k,3436) = lu(k,3436) - lu(k,2549) * lu(k,3416)
         lu(k,3497) = lu(k,3497) - lu(k,2533) * lu(k,3496)
         lu(k,3498) = lu(k,3498) - lu(k,2534) * lu(k,3496)
         lu(k,3499) = lu(k,3499) - lu(k,2535) * lu(k,3496)
         lu(k,3500) = lu(k,3500) - lu(k,2536) * lu(k,3496)
         lu(k,3501) = lu(k,3501) - lu(k,2537) * lu(k,3496)
         lu(k,3502) = lu(k,3502) - lu(k,2538) * lu(k,3496)
         lu(k,3503) = lu(k,3503) - lu(k,2539) * lu(k,3496)
         lu(k,3504) = lu(k,3504) - lu(k,2540) * lu(k,3496)
         lu(k,3506) = lu(k,3506) - lu(k,2541) * lu(k,3496)
         lu(k,3508) = lu(k,3508) - lu(k,2542) * lu(k,3496)
         lu(k,3509) = lu(k,3509) - lu(k,2543) * lu(k,3496)
         lu(k,3510) = lu(k,3510) - lu(k,2544) * lu(k,3496)
         lu(k,3511) = lu(k,3511) - lu(k,2545) * lu(k,3496)
         lu(k,3512) = lu(k,3512) - lu(k,2546) * lu(k,3496)
         lu(k,3513) = lu(k,3513) - lu(k,2547) * lu(k,3496)
         lu(k,3515) = lu(k,3515) - lu(k,2548) * lu(k,3496)
         lu(k,3516) = lu(k,3516) - lu(k,2549) * lu(k,3496)
         lu(k,3737) = lu(k,3737) - lu(k,2533) * lu(k,3736)
         lu(k,3738) = lu(k,3738) - lu(k,2534) * lu(k,3736)
         lu(k,3739) = lu(k,3739) - lu(k,2535) * lu(k,3736)
         lu(k,3740) = lu(k,3740) - lu(k,2536) * lu(k,3736)
         lu(k,3741) = lu(k,3741) - lu(k,2537) * lu(k,3736)
         lu(k,3742) = lu(k,3742) - lu(k,2538) * lu(k,3736)
         lu(k,3743) = lu(k,3743) - lu(k,2539) * lu(k,3736)
         lu(k,3744) = lu(k,3744) - lu(k,2540) * lu(k,3736)
         lu(k,3746) = lu(k,3746) - lu(k,2541) * lu(k,3736)
         lu(k,3748) = lu(k,3748) - lu(k,2542) * lu(k,3736)
         lu(k,3749) = lu(k,3749) - lu(k,2543) * lu(k,3736)
         lu(k,3750) = lu(k,3750) - lu(k,2544) * lu(k,3736)
         lu(k,3751) = lu(k,3751) - lu(k,2545) * lu(k,3736)
         lu(k,3752) = lu(k,3752) - lu(k,2546) * lu(k,3736)
         lu(k,3753) = lu(k,3753) - lu(k,2547) * lu(k,3736)
         lu(k,3755) = lu(k,3755) - lu(k,2548) * lu(k,3736)
         lu(k,3756) = lu(k,3756) - lu(k,2549) * lu(k,3736)
         lu(k,2579) = 1._r8 / lu(k,2579)
         lu(k,2580) = lu(k,2580) * lu(k,2579)
         lu(k,2581) = lu(k,2581) * lu(k,2579)
         lu(k,2582) = lu(k,2582) * lu(k,2579)
         lu(k,2583) = lu(k,2583) * lu(k,2579)
         lu(k,2584) = lu(k,2584) * lu(k,2579)
         lu(k,2585) = lu(k,2585) * lu(k,2579)
         lu(k,2586) = lu(k,2586) * lu(k,2579)
         lu(k,2587) = lu(k,2587) * lu(k,2579)
         lu(k,2588) = lu(k,2588) * lu(k,2579)
         lu(k,2589) = lu(k,2589) * lu(k,2579)
         lu(k,2590) = lu(k,2590) * lu(k,2579)
         lu(k,2591) = lu(k,2591) * lu(k,2579)
         lu(k,2592) = lu(k,2592) * lu(k,2579)
         lu(k,2593) = lu(k,2593) * lu(k,2579)
         lu(k,2594) = lu(k,2594) * lu(k,2579)
         lu(k,2595) = lu(k,2595) * lu(k,2579)
         lu(k,2627) = lu(k,2627) - lu(k,2580) * lu(k,2626)
         lu(k,2628) = lu(k,2628) - lu(k,2581) * lu(k,2626)
         lu(k,2629) = lu(k,2629) - lu(k,2582) * lu(k,2626)
         lu(k,2630) = lu(k,2630) - lu(k,2583) * lu(k,2626)
         lu(k,2631) = lu(k,2631) - lu(k,2584) * lu(k,2626)
         lu(k,2632) = lu(k,2632) - lu(k,2585) * lu(k,2626)
         lu(k,2633) = lu(k,2633) - lu(k,2586) * lu(k,2626)
         lu(k,2634) = lu(k,2634) - lu(k,2587) * lu(k,2626)
         lu(k,2635) = lu(k,2635) - lu(k,2588) * lu(k,2626)
         lu(k,2636) = lu(k,2636) - lu(k,2589) * lu(k,2626)
         lu(k,2637) = lu(k,2637) - lu(k,2590) * lu(k,2626)
         lu(k,2638) = lu(k,2638) - lu(k,2591) * lu(k,2626)
         lu(k,2639) = lu(k,2639) - lu(k,2592) * lu(k,2626)
         lu(k,2640) = lu(k,2640) - lu(k,2593) * lu(k,2626)
         lu(k,2641) = lu(k,2641) - lu(k,2594) * lu(k,2626)
         lu(k,2642) = lu(k,2642) - lu(k,2595) * lu(k,2626)
         lu(k,2698) = lu(k,2698) - lu(k,2580) * lu(k,2697)
         lu(k,2699) = lu(k,2699) - lu(k,2581) * lu(k,2697)
         lu(k,2700) = lu(k,2700) - lu(k,2582) * lu(k,2697)
         lu(k,2701) = lu(k,2701) - lu(k,2583) * lu(k,2697)
         lu(k,2702) = lu(k,2702) - lu(k,2584) * lu(k,2697)
         lu(k,2703) = lu(k,2703) - lu(k,2585) * lu(k,2697)
         lu(k,2704) = lu(k,2704) - lu(k,2586) * lu(k,2697)
         lu(k,2705) = lu(k,2705) - lu(k,2587) * lu(k,2697)
         lu(k,2706) = lu(k,2706) - lu(k,2588) * lu(k,2697)
         lu(k,2707) = lu(k,2707) - lu(k,2589) * lu(k,2697)
         lu(k,2708) = lu(k,2708) - lu(k,2590) * lu(k,2697)
         lu(k,2709) = lu(k,2709) - lu(k,2591) * lu(k,2697)
         lu(k,2710) = lu(k,2710) - lu(k,2592) * lu(k,2697)
         lu(k,2711) = lu(k,2711) - lu(k,2593) * lu(k,2697)
         lu(k,2712) = lu(k,2712) - lu(k,2594) * lu(k,2697)
         lu(k,2713) = lu(k,2713) - lu(k,2595) * lu(k,2697)
         lu(k,2881) = lu(k,2881) - lu(k,2580) * lu(k,2880)
         lu(k,2882) = lu(k,2882) - lu(k,2581) * lu(k,2880)
         lu(k,2883) = lu(k,2883) - lu(k,2582) * lu(k,2880)
         lu(k,2884) = lu(k,2884) - lu(k,2583) * lu(k,2880)
         lu(k,2885) = lu(k,2885) - lu(k,2584) * lu(k,2880)
         lu(k,2886) = lu(k,2886) - lu(k,2585) * lu(k,2880)
         lu(k,2887) = lu(k,2887) - lu(k,2586) * lu(k,2880)
         lu(k,2889) = lu(k,2889) - lu(k,2587) * lu(k,2880)
         lu(k,2891) = lu(k,2891) - lu(k,2588) * lu(k,2880)
         lu(k,2892) = lu(k,2892) - lu(k,2589) * lu(k,2880)
         lu(k,2893) = lu(k,2893) - lu(k,2590) * lu(k,2880)
         lu(k,2894) = lu(k,2894) - lu(k,2591) * lu(k,2880)
         lu(k,2895) = lu(k,2895) - lu(k,2592) * lu(k,2880)
         lu(k,2896) = lu(k,2896) - lu(k,2593) * lu(k,2880)
         lu(k,2898) = lu(k,2898) - lu(k,2594) * lu(k,2880)
         lu(k,2899) = lu(k,2899) - lu(k,2595) * lu(k,2880)
         lu(k,2982) = lu(k,2982) - lu(k,2580) * lu(k,2981)
         lu(k,2983) = lu(k,2983) - lu(k,2581) * lu(k,2981)
         lu(k,2984) = lu(k,2984) - lu(k,2582) * lu(k,2981)
         lu(k,2985) = lu(k,2985) - lu(k,2583) * lu(k,2981)
         lu(k,2986) = lu(k,2986) - lu(k,2584) * lu(k,2981)
         lu(k,2987) = lu(k,2987) - lu(k,2585) * lu(k,2981)
         lu(k,2988) = lu(k,2988) - lu(k,2586) * lu(k,2981)
         lu(k,2990) = lu(k,2990) - lu(k,2587) * lu(k,2981)
         lu(k,2992) = lu(k,2992) - lu(k,2588) * lu(k,2981)
         lu(k,2993) = lu(k,2993) - lu(k,2589) * lu(k,2981)
         lu(k,2994) = lu(k,2994) - lu(k,2590) * lu(k,2981)
         lu(k,2995) = lu(k,2995) - lu(k,2591) * lu(k,2981)
         lu(k,2996) = lu(k,2996) - lu(k,2592) * lu(k,2981)
         lu(k,2997) = lu(k,2997) - lu(k,2593) * lu(k,2981)
         lu(k,2999) = lu(k,2999) - lu(k,2594) * lu(k,2981)
         lu(k,3000) = lu(k,3000) - lu(k,2595) * lu(k,2981)
         lu(k,3074) = lu(k,3074) - lu(k,2580) * lu(k,3073)
         lu(k,3075) = lu(k,3075) - lu(k,2581) * lu(k,3073)
         lu(k,3076) = lu(k,3076) - lu(k,2582) * lu(k,3073)
         lu(k,3077) = lu(k,3077) - lu(k,2583) * lu(k,3073)
         lu(k,3078) = lu(k,3078) - lu(k,2584) * lu(k,3073)
         lu(k,3079) = lu(k,3079) - lu(k,2585) * lu(k,3073)
         lu(k,3080) = lu(k,3080) - lu(k,2586) * lu(k,3073)
         lu(k,3082) = lu(k,3082) - lu(k,2587) * lu(k,3073)
         lu(k,3084) = lu(k,3084) - lu(k,2588) * lu(k,3073)
         lu(k,3085) = lu(k,3085) - lu(k,2589) * lu(k,3073)
         lu(k,3086) = lu(k,3086) - lu(k,2590) * lu(k,3073)
         lu(k,3087) = lu(k,3087) - lu(k,2591) * lu(k,3073)
         lu(k,3088) = lu(k,3088) - lu(k,2592) * lu(k,3073)
         lu(k,3089) = lu(k,3089) - lu(k,2593) * lu(k,3073)
         lu(k,3091) = lu(k,3091) - lu(k,2594) * lu(k,3073)
         lu(k,3092) = lu(k,3092) - lu(k,2595) * lu(k,3073)
         lu(k,3277) = lu(k,3277) - lu(k,2580) * lu(k,3276)
         lu(k,3278) = lu(k,3278) - lu(k,2581) * lu(k,3276)
         lu(k,3279) = lu(k,3279) - lu(k,2582) * lu(k,3276)
         lu(k,3280) = lu(k,3280) - lu(k,2583) * lu(k,3276)
         lu(k,3281) = lu(k,3281) - lu(k,2584) * lu(k,3276)
         lu(k,3282) = lu(k,3282) - lu(k,2585) * lu(k,3276)
         lu(k,3283) = lu(k,3283) - lu(k,2586) * lu(k,3276)
         lu(k,3285) = lu(k,3285) - lu(k,2587) * lu(k,3276)
         lu(k,3287) = lu(k,3287) - lu(k,2588) * lu(k,3276)
         lu(k,3288) = lu(k,3288) - lu(k,2589) * lu(k,3276)
         lu(k,3289) = lu(k,3289) - lu(k,2590) * lu(k,3276)
         lu(k,3290) = lu(k,3290) - lu(k,2591) * lu(k,3276)
         lu(k,3291) = lu(k,3291) - lu(k,2592) * lu(k,3276)
         lu(k,3292) = lu(k,3292) - lu(k,2593) * lu(k,3276)
         lu(k,3294) = lu(k,3294) - lu(k,2594) * lu(k,3276)
         lu(k,3295) = lu(k,3295) - lu(k,2595) * lu(k,3276)
         lu(k,3418) = lu(k,3418) - lu(k,2580) * lu(k,3417)
         lu(k,3419) = lu(k,3419) - lu(k,2581) * lu(k,3417)
         lu(k,3420) = lu(k,3420) - lu(k,2582) * lu(k,3417)
         lu(k,3421) = lu(k,3421) - lu(k,2583) * lu(k,3417)
         lu(k,3422) = lu(k,3422) - lu(k,2584) * lu(k,3417)
         lu(k,3423) = lu(k,3423) - lu(k,2585) * lu(k,3417)
         lu(k,3424) = lu(k,3424) - lu(k,2586) * lu(k,3417)
         lu(k,3426) = lu(k,3426) - lu(k,2587) * lu(k,3417)
         lu(k,3428) = lu(k,3428) - lu(k,2588) * lu(k,3417)
         lu(k,3429) = lu(k,3429) - lu(k,2589) * lu(k,3417)
         lu(k,3430) = lu(k,3430) - lu(k,2590) * lu(k,3417)
         lu(k,3431) = lu(k,3431) - lu(k,2591) * lu(k,3417)
         lu(k,3432) = lu(k,3432) - lu(k,2592) * lu(k,3417)
         lu(k,3433) = lu(k,3433) - lu(k,2593) * lu(k,3417)
         lu(k,3435) = lu(k,3435) - lu(k,2594) * lu(k,3417)
         lu(k,3436) = lu(k,3436) - lu(k,2595) * lu(k,3417)
         lu(k,3498) = lu(k,3498) - lu(k,2580) * lu(k,3497)
         lu(k,3499) = lu(k,3499) - lu(k,2581) * lu(k,3497)
         lu(k,3500) = lu(k,3500) - lu(k,2582) * lu(k,3497)
         lu(k,3501) = lu(k,3501) - lu(k,2583) * lu(k,3497)
         lu(k,3502) = lu(k,3502) - lu(k,2584) * lu(k,3497)
         lu(k,3503) = lu(k,3503) - lu(k,2585) * lu(k,3497)
         lu(k,3504) = lu(k,3504) - lu(k,2586) * lu(k,3497)
         lu(k,3506) = lu(k,3506) - lu(k,2587) * lu(k,3497)
         lu(k,3508) = lu(k,3508) - lu(k,2588) * lu(k,3497)
         lu(k,3509) = lu(k,3509) - lu(k,2589) * lu(k,3497)
         lu(k,3510) = lu(k,3510) - lu(k,2590) * lu(k,3497)
         lu(k,3511) = lu(k,3511) - lu(k,2591) * lu(k,3497)
         lu(k,3512) = lu(k,3512) - lu(k,2592) * lu(k,3497)
         lu(k,3513) = lu(k,3513) - lu(k,2593) * lu(k,3497)
         lu(k,3515) = lu(k,3515) - lu(k,2594) * lu(k,3497)
         lu(k,3516) = lu(k,3516) - lu(k,2595) * lu(k,3497)
         lu(k,3738) = lu(k,3738) - lu(k,2580) * lu(k,3737)
         lu(k,3739) = lu(k,3739) - lu(k,2581) * lu(k,3737)
         lu(k,3740) = lu(k,3740) - lu(k,2582) * lu(k,3737)
         lu(k,3741) = lu(k,3741) - lu(k,2583) * lu(k,3737)
         lu(k,3742) = lu(k,3742) - lu(k,2584) * lu(k,3737)
         lu(k,3743) = lu(k,3743) - lu(k,2585) * lu(k,3737)
         lu(k,3744) = lu(k,3744) - lu(k,2586) * lu(k,3737)
         lu(k,3746) = lu(k,3746) - lu(k,2587) * lu(k,3737)
         lu(k,3748) = lu(k,3748) - lu(k,2588) * lu(k,3737)
         lu(k,3749) = lu(k,3749) - lu(k,2589) * lu(k,3737)
         lu(k,3750) = lu(k,3750) - lu(k,2590) * lu(k,3737)
         lu(k,3751) = lu(k,3751) - lu(k,2591) * lu(k,3737)
         lu(k,3752) = lu(k,3752) - lu(k,2592) * lu(k,3737)
         lu(k,3753) = lu(k,3753) - lu(k,2593) * lu(k,3737)
         lu(k,3755) = lu(k,3755) - lu(k,2594) * lu(k,3737)
         lu(k,3756) = lu(k,3756) - lu(k,2595) * lu(k,3737)
      end do
      end subroutine lu_fac47
      subroutine lu_fac48( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,2627) = 1._r8 / lu(k,2627)
         lu(k,2628) = lu(k,2628) * lu(k,2627)
         lu(k,2629) = lu(k,2629) * lu(k,2627)
         lu(k,2630) = lu(k,2630) * lu(k,2627)
         lu(k,2631) = lu(k,2631) * lu(k,2627)
         lu(k,2632) = lu(k,2632) * lu(k,2627)
         lu(k,2633) = lu(k,2633) * lu(k,2627)
         lu(k,2634) = lu(k,2634) * lu(k,2627)
         lu(k,2635) = lu(k,2635) * lu(k,2627)
         lu(k,2636) = lu(k,2636) * lu(k,2627)
         lu(k,2637) = lu(k,2637) * lu(k,2627)
         lu(k,2638) = lu(k,2638) * lu(k,2627)
         lu(k,2639) = lu(k,2639) * lu(k,2627)
         lu(k,2640) = lu(k,2640) * lu(k,2627)
         lu(k,2641) = lu(k,2641) * lu(k,2627)
         lu(k,2642) = lu(k,2642) * lu(k,2627)
         lu(k,2699) = lu(k,2699) - lu(k,2628) * lu(k,2698)
         lu(k,2700) = lu(k,2700) - lu(k,2629) * lu(k,2698)
         lu(k,2701) = lu(k,2701) - lu(k,2630) * lu(k,2698)
         lu(k,2702) = lu(k,2702) - lu(k,2631) * lu(k,2698)
         lu(k,2703) = lu(k,2703) - lu(k,2632) * lu(k,2698)
         lu(k,2704) = lu(k,2704) - lu(k,2633) * lu(k,2698)
         lu(k,2705) = lu(k,2705) - lu(k,2634) * lu(k,2698)
         lu(k,2706) = lu(k,2706) - lu(k,2635) * lu(k,2698)
         lu(k,2707) = lu(k,2707) - lu(k,2636) * lu(k,2698)
         lu(k,2708) = lu(k,2708) - lu(k,2637) * lu(k,2698)
         lu(k,2709) = lu(k,2709) - lu(k,2638) * lu(k,2698)
         lu(k,2710) = lu(k,2710) - lu(k,2639) * lu(k,2698)
         lu(k,2711) = lu(k,2711) - lu(k,2640) * lu(k,2698)
         lu(k,2712) = lu(k,2712) - lu(k,2641) * lu(k,2698)
         lu(k,2713) = lu(k,2713) - lu(k,2642) * lu(k,2698)
         lu(k,2882) = lu(k,2882) - lu(k,2628) * lu(k,2881)
         lu(k,2883) = lu(k,2883) - lu(k,2629) * lu(k,2881)
         lu(k,2884) = lu(k,2884) - lu(k,2630) * lu(k,2881)
         lu(k,2885) = lu(k,2885) - lu(k,2631) * lu(k,2881)
         lu(k,2886) = lu(k,2886) - lu(k,2632) * lu(k,2881)
         lu(k,2887) = lu(k,2887) - lu(k,2633) * lu(k,2881)
         lu(k,2889) = lu(k,2889) - lu(k,2634) * lu(k,2881)
         lu(k,2891) = lu(k,2891) - lu(k,2635) * lu(k,2881)
         lu(k,2892) = lu(k,2892) - lu(k,2636) * lu(k,2881)
         lu(k,2893) = lu(k,2893) - lu(k,2637) * lu(k,2881)
         lu(k,2894) = lu(k,2894) - lu(k,2638) * lu(k,2881)
         lu(k,2895) = lu(k,2895) - lu(k,2639) * lu(k,2881)
         lu(k,2896) = lu(k,2896) - lu(k,2640) * lu(k,2881)
         lu(k,2898) = lu(k,2898) - lu(k,2641) * lu(k,2881)
         lu(k,2899) = lu(k,2899) - lu(k,2642) * lu(k,2881)
         lu(k,2983) = lu(k,2983) - lu(k,2628) * lu(k,2982)
         lu(k,2984) = lu(k,2984) - lu(k,2629) * lu(k,2982)
         lu(k,2985) = lu(k,2985) - lu(k,2630) * lu(k,2982)
         lu(k,2986) = lu(k,2986) - lu(k,2631) * lu(k,2982)
         lu(k,2987) = lu(k,2987) - lu(k,2632) * lu(k,2982)
         lu(k,2988) = lu(k,2988) - lu(k,2633) * lu(k,2982)
         lu(k,2990) = lu(k,2990) - lu(k,2634) * lu(k,2982)
         lu(k,2992) = lu(k,2992) - lu(k,2635) * lu(k,2982)
         lu(k,2993) = lu(k,2993) - lu(k,2636) * lu(k,2982)
         lu(k,2994) = lu(k,2994) - lu(k,2637) * lu(k,2982)
         lu(k,2995) = lu(k,2995) - lu(k,2638) * lu(k,2982)
         lu(k,2996) = lu(k,2996) - lu(k,2639) * lu(k,2982)
         lu(k,2997) = lu(k,2997) - lu(k,2640) * lu(k,2982)
         lu(k,2999) = lu(k,2999) - lu(k,2641) * lu(k,2982)
         lu(k,3000) = lu(k,3000) - lu(k,2642) * lu(k,2982)
         lu(k,3075) = lu(k,3075) - lu(k,2628) * lu(k,3074)
         lu(k,3076) = lu(k,3076) - lu(k,2629) * lu(k,3074)
         lu(k,3077) = lu(k,3077) - lu(k,2630) * lu(k,3074)
         lu(k,3078) = lu(k,3078) - lu(k,2631) * lu(k,3074)
         lu(k,3079) = lu(k,3079) - lu(k,2632) * lu(k,3074)
         lu(k,3080) = lu(k,3080) - lu(k,2633) * lu(k,3074)
         lu(k,3082) = lu(k,3082) - lu(k,2634) * lu(k,3074)
         lu(k,3084) = lu(k,3084) - lu(k,2635) * lu(k,3074)
         lu(k,3085) = lu(k,3085) - lu(k,2636) * lu(k,3074)
         lu(k,3086) = lu(k,3086) - lu(k,2637) * lu(k,3074)
         lu(k,3087) = lu(k,3087) - lu(k,2638) * lu(k,3074)
         lu(k,3088) = lu(k,3088) - lu(k,2639) * lu(k,3074)
         lu(k,3089) = lu(k,3089) - lu(k,2640) * lu(k,3074)
         lu(k,3091) = lu(k,3091) - lu(k,2641) * lu(k,3074)
         lu(k,3092) = lu(k,3092) - lu(k,2642) * lu(k,3074)
         lu(k,3278) = lu(k,3278) - lu(k,2628) * lu(k,3277)
         lu(k,3279) = lu(k,3279) - lu(k,2629) * lu(k,3277)
         lu(k,3280) = lu(k,3280) - lu(k,2630) * lu(k,3277)
         lu(k,3281) = lu(k,3281) - lu(k,2631) * lu(k,3277)
         lu(k,3282) = lu(k,3282) - lu(k,2632) * lu(k,3277)
         lu(k,3283) = lu(k,3283) - lu(k,2633) * lu(k,3277)
         lu(k,3285) = lu(k,3285) - lu(k,2634) * lu(k,3277)
         lu(k,3287) = lu(k,3287) - lu(k,2635) * lu(k,3277)
         lu(k,3288) = lu(k,3288) - lu(k,2636) * lu(k,3277)
         lu(k,3289) = lu(k,3289) - lu(k,2637) * lu(k,3277)
         lu(k,3290) = lu(k,3290) - lu(k,2638) * lu(k,3277)
         lu(k,3291) = lu(k,3291) - lu(k,2639) * lu(k,3277)
         lu(k,3292) = lu(k,3292) - lu(k,2640) * lu(k,3277)
         lu(k,3294) = lu(k,3294) - lu(k,2641) * lu(k,3277)
         lu(k,3295) = lu(k,3295) - lu(k,2642) * lu(k,3277)
         lu(k,3419) = lu(k,3419) - lu(k,2628) * lu(k,3418)
         lu(k,3420) = lu(k,3420) - lu(k,2629) * lu(k,3418)
         lu(k,3421) = lu(k,3421) - lu(k,2630) * lu(k,3418)
         lu(k,3422) = lu(k,3422) - lu(k,2631) * lu(k,3418)
         lu(k,3423) = lu(k,3423) - lu(k,2632) * lu(k,3418)
         lu(k,3424) = lu(k,3424) - lu(k,2633) * lu(k,3418)
         lu(k,3426) = lu(k,3426) - lu(k,2634) * lu(k,3418)
         lu(k,3428) = lu(k,3428) - lu(k,2635) * lu(k,3418)
         lu(k,3429) = lu(k,3429) - lu(k,2636) * lu(k,3418)
         lu(k,3430) = lu(k,3430) - lu(k,2637) * lu(k,3418)
         lu(k,3431) = lu(k,3431) - lu(k,2638) * lu(k,3418)
         lu(k,3432) = lu(k,3432) - lu(k,2639) * lu(k,3418)
         lu(k,3433) = lu(k,3433) - lu(k,2640) * lu(k,3418)
         lu(k,3435) = lu(k,3435) - lu(k,2641) * lu(k,3418)
         lu(k,3436) = lu(k,3436) - lu(k,2642) * lu(k,3418)
         lu(k,3499) = lu(k,3499) - lu(k,2628) * lu(k,3498)
         lu(k,3500) = lu(k,3500) - lu(k,2629) * lu(k,3498)
         lu(k,3501) = lu(k,3501) - lu(k,2630) * lu(k,3498)
         lu(k,3502) = lu(k,3502) - lu(k,2631) * lu(k,3498)
         lu(k,3503) = lu(k,3503) - lu(k,2632) * lu(k,3498)
         lu(k,3504) = lu(k,3504) - lu(k,2633) * lu(k,3498)
         lu(k,3506) = lu(k,3506) - lu(k,2634) * lu(k,3498)
         lu(k,3508) = lu(k,3508) - lu(k,2635) * lu(k,3498)
         lu(k,3509) = lu(k,3509) - lu(k,2636) * lu(k,3498)
         lu(k,3510) = lu(k,3510) - lu(k,2637) * lu(k,3498)
         lu(k,3511) = lu(k,3511) - lu(k,2638) * lu(k,3498)
         lu(k,3512) = lu(k,3512) - lu(k,2639) * lu(k,3498)
         lu(k,3513) = lu(k,3513) - lu(k,2640) * lu(k,3498)
         lu(k,3515) = lu(k,3515) - lu(k,2641) * lu(k,3498)
         lu(k,3516) = lu(k,3516) - lu(k,2642) * lu(k,3498)
         lu(k,3739) = lu(k,3739) - lu(k,2628) * lu(k,3738)
         lu(k,3740) = lu(k,3740) - lu(k,2629) * lu(k,3738)
         lu(k,3741) = lu(k,3741) - lu(k,2630) * lu(k,3738)
         lu(k,3742) = lu(k,3742) - lu(k,2631) * lu(k,3738)
         lu(k,3743) = lu(k,3743) - lu(k,2632) * lu(k,3738)
         lu(k,3744) = lu(k,3744) - lu(k,2633) * lu(k,3738)
         lu(k,3746) = lu(k,3746) - lu(k,2634) * lu(k,3738)
         lu(k,3748) = lu(k,3748) - lu(k,2635) * lu(k,3738)
         lu(k,3749) = lu(k,3749) - lu(k,2636) * lu(k,3738)
         lu(k,3750) = lu(k,3750) - lu(k,2637) * lu(k,3738)
         lu(k,3751) = lu(k,3751) - lu(k,2638) * lu(k,3738)
         lu(k,3752) = lu(k,3752) - lu(k,2639) * lu(k,3738)
         lu(k,3753) = lu(k,3753) - lu(k,2640) * lu(k,3738)
         lu(k,3755) = lu(k,3755) - lu(k,2641) * lu(k,3738)
         lu(k,3756) = lu(k,3756) - lu(k,2642) * lu(k,3738)
         lu(k,2699) = 1._r8 / lu(k,2699)
         lu(k,2700) = lu(k,2700) * lu(k,2699)
         lu(k,2701) = lu(k,2701) * lu(k,2699)
         lu(k,2702) = lu(k,2702) * lu(k,2699)
         lu(k,2703) = lu(k,2703) * lu(k,2699)
         lu(k,2704) = lu(k,2704) * lu(k,2699)
         lu(k,2705) = lu(k,2705) * lu(k,2699)
         lu(k,2706) = lu(k,2706) * lu(k,2699)
         lu(k,2707) = lu(k,2707) * lu(k,2699)
         lu(k,2708) = lu(k,2708) * lu(k,2699)
         lu(k,2709) = lu(k,2709) * lu(k,2699)
         lu(k,2710) = lu(k,2710) * lu(k,2699)
         lu(k,2711) = lu(k,2711) * lu(k,2699)
         lu(k,2712) = lu(k,2712) * lu(k,2699)
         lu(k,2713) = lu(k,2713) * lu(k,2699)
         lu(k,2883) = lu(k,2883) - lu(k,2700) * lu(k,2882)
         lu(k,2884) = lu(k,2884) - lu(k,2701) * lu(k,2882)
         lu(k,2885) = lu(k,2885) - lu(k,2702) * lu(k,2882)
         lu(k,2886) = lu(k,2886) - lu(k,2703) * lu(k,2882)
         lu(k,2887) = lu(k,2887) - lu(k,2704) * lu(k,2882)
         lu(k,2889) = lu(k,2889) - lu(k,2705) * lu(k,2882)
         lu(k,2891) = lu(k,2891) - lu(k,2706) * lu(k,2882)
         lu(k,2892) = lu(k,2892) - lu(k,2707) * lu(k,2882)
         lu(k,2893) = lu(k,2893) - lu(k,2708) * lu(k,2882)
         lu(k,2894) = lu(k,2894) - lu(k,2709) * lu(k,2882)
         lu(k,2895) = lu(k,2895) - lu(k,2710) * lu(k,2882)
         lu(k,2896) = lu(k,2896) - lu(k,2711) * lu(k,2882)
         lu(k,2898) = lu(k,2898) - lu(k,2712) * lu(k,2882)
         lu(k,2899) = lu(k,2899) - lu(k,2713) * lu(k,2882)
         lu(k,2984) = lu(k,2984) - lu(k,2700) * lu(k,2983)
         lu(k,2985) = lu(k,2985) - lu(k,2701) * lu(k,2983)
         lu(k,2986) = lu(k,2986) - lu(k,2702) * lu(k,2983)
         lu(k,2987) = lu(k,2987) - lu(k,2703) * lu(k,2983)
         lu(k,2988) = lu(k,2988) - lu(k,2704) * lu(k,2983)
         lu(k,2990) = lu(k,2990) - lu(k,2705) * lu(k,2983)
         lu(k,2992) = lu(k,2992) - lu(k,2706) * lu(k,2983)
         lu(k,2993) = lu(k,2993) - lu(k,2707) * lu(k,2983)
         lu(k,2994) = lu(k,2994) - lu(k,2708) * lu(k,2983)
         lu(k,2995) = lu(k,2995) - lu(k,2709) * lu(k,2983)
         lu(k,2996) = lu(k,2996) - lu(k,2710) * lu(k,2983)
         lu(k,2997) = lu(k,2997) - lu(k,2711) * lu(k,2983)
         lu(k,2999) = lu(k,2999) - lu(k,2712) * lu(k,2983)
         lu(k,3000) = lu(k,3000) - lu(k,2713) * lu(k,2983)
         lu(k,3076) = lu(k,3076) - lu(k,2700) * lu(k,3075)
         lu(k,3077) = lu(k,3077) - lu(k,2701) * lu(k,3075)
         lu(k,3078) = lu(k,3078) - lu(k,2702) * lu(k,3075)
         lu(k,3079) = lu(k,3079) - lu(k,2703) * lu(k,3075)
         lu(k,3080) = lu(k,3080) - lu(k,2704) * lu(k,3075)
         lu(k,3082) = lu(k,3082) - lu(k,2705) * lu(k,3075)
         lu(k,3084) = lu(k,3084) - lu(k,2706) * lu(k,3075)
         lu(k,3085) = lu(k,3085) - lu(k,2707) * lu(k,3075)
         lu(k,3086) = lu(k,3086) - lu(k,2708) * lu(k,3075)
         lu(k,3087) = lu(k,3087) - lu(k,2709) * lu(k,3075)
         lu(k,3088) = lu(k,3088) - lu(k,2710) * lu(k,3075)
         lu(k,3089) = lu(k,3089) - lu(k,2711) * lu(k,3075)
         lu(k,3091) = lu(k,3091) - lu(k,2712) * lu(k,3075)
         lu(k,3092) = lu(k,3092) - lu(k,2713) * lu(k,3075)
         lu(k,3279) = lu(k,3279) - lu(k,2700) * lu(k,3278)
         lu(k,3280) = lu(k,3280) - lu(k,2701) * lu(k,3278)
         lu(k,3281) = lu(k,3281) - lu(k,2702) * lu(k,3278)
         lu(k,3282) = lu(k,3282) - lu(k,2703) * lu(k,3278)
         lu(k,3283) = lu(k,3283) - lu(k,2704) * lu(k,3278)
         lu(k,3285) = lu(k,3285) - lu(k,2705) * lu(k,3278)
         lu(k,3287) = lu(k,3287) - lu(k,2706) * lu(k,3278)
         lu(k,3288) = lu(k,3288) - lu(k,2707) * lu(k,3278)
         lu(k,3289) = lu(k,3289) - lu(k,2708) * lu(k,3278)
         lu(k,3290) = lu(k,3290) - lu(k,2709) * lu(k,3278)
         lu(k,3291) = lu(k,3291) - lu(k,2710) * lu(k,3278)
         lu(k,3292) = lu(k,3292) - lu(k,2711) * lu(k,3278)
         lu(k,3294) = lu(k,3294) - lu(k,2712) * lu(k,3278)
         lu(k,3295) = lu(k,3295) - lu(k,2713) * lu(k,3278)
         lu(k,3420) = lu(k,3420) - lu(k,2700) * lu(k,3419)
         lu(k,3421) = lu(k,3421) - lu(k,2701) * lu(k,3419)
         lu(k,3422) = lu(k,3422) - lu(k,2702) * lu(k,3419)
         lu(k,3423) = lu(k,3423) - lu(k,2703) * lu(k,3419)
         lu(k,3424) = lu(k,3424) - lu(k,2704) * lu(k,3419)
         lu(k,3426) = lu(k,3426) - lu(k,2705) * lu(k,3419)
         lu(k,3428) = lu(k,3428) - lu(k,2706) * lu(k,3419)
         lu(k,3429) = lu(k,3429) - lu(k,2707) * lu(k,3419)
         lu(k,3430) = lu(k,3430) - lu(k,2708) * lu(k,3419)
         lu(k,3431) = lu(k,3431) - lu(k,2709) * lu(k,3419)
         lu(k,3432) = lu(k,3432) - lu(k,2710) * lu(k,3419)
         lu(k,3433) = lu(k,3433) - lu(k,2711) * lu(k,3419)
         lu(k,3435) = lu(k,3435) - lu(k,2712) * lu(k,3419)
         lu(k,3436) = lu(k,3436) - lu(k,2713) * lu(k,3419)
         lu(k,3500) = lu(k,3500) - lu(k,2700) * lu(k,3499)
         lu(k,3501) = lu(k,3501) - lu(k,2701) * lu(k,3499)
         lu(k,3502) = lu(k,3502) - lu(k,2702) * lu(k,3499)
         lu(k,3503) = lu(k,3503) - lu(k,2703) * lu(k,3499)
         lu(k,3504) = lu(k,3504) - lu(k,2704) * lu(k,3499)
         lu(k,3506) = lu(k,3506) - lu(k,2705) * lu(k,3499)
         lu(k,3508) = lu(k,3508) - lu(k,2706) * lu(k,3499)
         lu(k,3509) = lu(k,3509) - lu(k,2707) * lu(k,3499)
         lu(k,3510) = lu(k,3510) - lu(k,2708) * lu(k,3499)
         lu(k,3511) = lu(k,3511) - lu(k,2709) * lu(k,3499)
         lu(k,3512) = lu(k,3512) - lu(k,2710) * lu(k,3499)
         lu(k,3513) = lu(k,3513) - lu(k,2711) * lu(k,3499)
         lu(k,3515) = lu(k,3515) - lu(k,2712) * lu(k,3499)
         lu(k,3516) = lu(k,3516) - lu(k,2713) * lu(k,3499)
         lu(k,3740) = lu(k,3740) - lu(k,2700) * lu(k,3739)
         lu(k,3741) = lu(k,3741) - lu(k,2701) * lu(k,3739)
         lu(k,3742) = lu(k,3742) - lu(k,2702) * lu(k,3739)
         lu(k,3743) = lu(k,3743) - lu(k,2703) * lu(k,3739)
         lu(k,3744) = lu(k,3744) - lu(k,2704) * lu(k,3739)
         lu(k,3746) = lu(k,3746) - lu(k,2705) * lu(k,3739)
         lu(k,3748) = lu(k,3748) - lu(k,2706) * lu(k,3739)
         lu(k,3749) = lu(k,3749) - lu(k,2707) * lu(k,3739)
         lu(k,3750) = lu(k,3750) - lu(k,2708) * lu(k,3739)
         lu(k,3751) = lu(k,3751) - lu(k,2709) * lu(k,3739)
         lu(k,3752) = lu(k,3752) - lu(k,2710) * lu(k,3739)
         lu(k,3753) = lu(k,3753) - lu(k,2711) * lu(k,3739)
         lu(k,3755) = lu(k,3755) - lu(k,2712) * lu(k,3739)
         lu(k,3756) = lu(k,3756) - lu(k,2713) * lu(k,3739)
         lu(k,3821) = lu(k,3821) - lu(k,2700) * lu(k,3820)
         lu(k,3822) = lu(k,3822) - lu(k,2701) * lu(k,3820)
         lu(k,3823) = lu(k,3823) - lu(k,2702) * lu(k,3820)
         lu(k,3824) = lu(k,3824) - lu(k,2703) * lu(k,3820)
         lu(k,3825) = lu(k,3825) - lu(k,2704) * lu(k,3820)
         lu(k,3827) = lu(k,3827) - lu(k,2705) * lu(k,3820)
         lu(k,3829) = lu(k,3829) - lu(k,2706) * lu(k,3820)
         lu(k,3830) = lu(k,3830) - lu(k,2707) * lu(k,3820)
         lu(k,3831) = lu(k,3831) - lu(k,2708) * lu(k,3820)
         lu(k,3832) = lu(k,3832) - lu(k,2709) * lu(k,3820)
         lu(k,3833) = lu(k,3833) - lu(k,2710) * lu(k,3820)
         lu(k,3834) = lu(k,3834) - lu(k,2711) * lu(k,3820)
         lu(k,3836) = lu(k,3836) - lu(k,2712) * lu(k,3820)
         lu(k,3837) = lu(k,3837) - lu(k,2713) * lu(k,3820)
         lu(k,2717) = 1._r8 / lu(k,2717)
         lu(k,2718) = lu(k,2718) * lu(k,2717)
         lu(k,2719) = lu(k,2719) * lu(k,2717)
         lu(k,2720) = lu(k,2720) * lu(k,2717)
         lu(k,2721) = lu(k,2721) * lu(k,2717)
         lu(k,2722) = lu(k,2722) * lu(k,2717)
         lu(k,2723) = lu(k,2723) * lu(k,2717)
         lu(k,2724) = lu(k,2724) * lu(k,2717)
         lu(k,2725) = lu(k,2725) * lu(k,2717)
         lu(k,2726) = lu(k,2726) * lu(k,2717)
         lu(k,2727) = lu(k,2727) * lu(k,2717)
         lu(k,2730) = lu(k,2730) - lu(k,2718) * lu(k,2729)
         lu(k,2732) = lu(k,2732) - lu(k,2719) * lu(k,2729)
         lu(k,2733) = lu(k,2733) - lu(k,2720) * lu(k,2729)
         lu(k,2735) = lu(k,2735) - lu(k,2721) * lu(k,2729)
         lu(k,2736) = lu(k,2736) - lu(k,2722) * lu(k,2729)
         lu(k,2737) = - lu(k,2723) * lu(k,2729)
         lu(k,2738) = lu(k,2738) - lu(k,2724) * lu(k,2729)
         lu(k,2739) = lu(k,2739) - lu(k,2725) * lu(k,2729)
         lu(k,2740) = lu(k,2740) - lu(k,2726) * lu(k,2729)
         lu(k,2741) = lu(k,2741) - lu(k,2727) * lu(k,2729)
         lu(k,2884) = lu(k,2884) - lu(k,2718) * lu(k,2883)
         lu(k,2887) = lu(k,2887) - lu(k,2719) * lu(k,2883)
         lu(k,2888) = lu(k,2888) - lu(k,2720) * lu(k,2883)
         lu(k,2892) = lu(k,2892) - lu(k,2721) * lu(k,2883)
         lu(k,2893) = lu(k,2893) - lu(k,2722) * lu(k,2883)
         lu(k,2894) = lu(k,2894) - lu(k,2723) * lu(k,2883)
         lu(k,2895) = lu(k,2895) - lu(k,2724) * lu(k,2883)
         lu(k,2896) = lu(k,2896) - lu(k,2725) * lu(k,2883)
         lu(k,2898) = lu(k,2898) - lu(k,2726) * lu(k,2883)
         lu(k,2899) = lu(k,2899) - lu(k,2727) * lu(k,2883)
         lu(k,2985) = lu(k,2985) - lu(k,2718) * lu(k,2984)
         lu(k,2988) = lu(k,2988) - lu(k,2719) * lu(k,2984)
         lu(k,2989) = lu(k,2989) - lu(k,2720) * lu(k,2984)
         lu(k,2993) = lu(k,2993) - lu(k,2721) * lu(k,2984)
         lu(k,2994) = lu(k,2994) - lu(k,2722) * lu(k,2984)
         lu(k,2995) = lu(k,2995) - lu(k,2723) * lu(k,2984)
         lu(k,2996) = lu(k,2996) - lu(k,2724) * lu(k,2984)
         lu(k,2997) = lu(k,2997) - lu(k,2725) * lu(k,2984)
         lu(k,2999) = lu(k,2999) - lu(k,2726) * lu(k,2984)
         lu(k,3000) = lu(k,3000) - lu(k,2727) * lu(k,2984)
         lu(k,3077) = lu(k,3077) - lu(k,2718) * lu(k,3076)
         lu(k,3080) = lu(k,3080) - lu(k,2719) * lu(k,3076)
         lu(k,3081) = lu(k,3081) - lu(k,2720) * lu(k,3076)
         lu(k,3085) = lu(k,3085) - lu(k,2721) * lu(k,3076)
         lu(k,3086) = lu(k,3086) - lu(k,2722) * lu(k,3076)
         lu(k,3087) = lu(k,3087) - lu(k,2723) * lu(k,3076)
         lu(k,3088) = lu(k,3088) - lu(k,2724) * lu(k,3076)
         lu(k,3089) = lu(k,3089) - lu(k,2725) * lu(k,3076)
         lu(k,3091) = lu(k,3091) - lu(k,2726) * lu(k,3076)
         lu(k,3092) = lu(k,3092) - lu(k,2727) * lu(k,3076)
         lu(k,3101) = lu(k,3101) - lu(k,2718) * lu(k,3100)
         lu(k,3104) = lu(k,3104) - lu(k,2719) * lu(k,3100)
         lu(k,3105) = lu(k,3105) - lu(k,2720) * lu(k,3100)
         lu(k,3109) = lu(k,3109) - lu(k,2721) * lu(k,3100)
         lu(k,3110) = lu(k,3110) - lu(k,2722) * lu(k,3100)
         lu(k,3111) = - lu(k,2723) * lu(k,3100)
         lu(k,3112) = lu(k,3112) - lu(k,2724) * lu(k,3100)
         lu(k,3113) = lu(k,3113) - lu(k,2725) * lu(k,3100)
         lu(k,3115) = lu(k,3115) - lu(k,2726) * lu(k,3100)
         lu(k,3116) = lu(k,3116) - lu(k,2727) * lu(k,3100)
         lu(k,3280) = lu(k,3280) - lu(k,2718) * lu(k,3279)
         lu(k,3283) = lu(k,3283) - lu(k,2719) * lu(k,3279)
         lu(k,3284) = lu(k,3284) - lu(k,2720) * lu(k,3279)
         lu(k,3288) = lu(k,3288) - lu(k,2721) * lu(k,3279)
         lu(k,3289) = lu(k,3289) - lu(k,2722) * lu(k,3279)
         lu(k,3290) = lu(k,3290) - lu(k,2723) * lu(k,3279)
         lu(k,3291) = lu(k,3291) - lu(k,2724) * lu(k,3279)
         lu(k,3292) = lu(k,3292) - lu(k,2725) * lu(k,3279)
         lu(k,3294) = lu(k,3294) - lu(k,2726) * lu(k,3279)
         lu(k,3295) = lu(k,3295) - lu(k,2727) * lu(k,3279)
         lu(k,3306) = lu(k,3306) - lu(k,2718) * lu(k,3305)
         lu(k,3309) = lu(k,3309) - lu(k,2719) * lu(k,3305)
         lu(k,3310) = lu(k,3310) - lu(k,2720) * lu(k,3305)
         lu(k,3314) = lu(k,3314) - lu(k,2721) * lu(k,3305)
         lu(k,3315) = lu(k,3315) - lu(k,2722) * lu(k,3305)
         lu(k,3316) = lu(k,3316) - lu(k,2723) * lu(k,3305)
         lu(k,3317) = lu(k,3317) - lu(k,2724) * lu(k,3305)
         lu(k,3318) = lu(k,3318) - lu(k,2725) * lu(k,3305)
         lu(k,3320) = lu(k,3320) - lu(k,2726) * lu(k,3305)
         lu(k,3321) = lu(k,3321) - lu(k,2727) * lu(k,3305)
         lu(k,3330) = lu(k,3330) - lu(k,2718) * lu(k,3329)
         lu(k,3333) = lu(k,3333) - lu(k,2719) * lu(k,3329)
         lu(k,3334) = lu(k,3334) - lu(k,2720) * lu(k,3329)
         lu(k,3338) = lu(k,3338) - lu(k,2721) * lu(k,3329)
         lu(k,3339) = lu(k,3339) - lu(k,2722) * lu(k,3329)
         lu(k,3340) = lu(k,3340) - lu(k,2723) * lu(k,3329)
         lu(k,3341) = lu(k,3341) - lu(k,2724) * lu(k,3329)
         lu(k,3342) = lu(k,3342) - lu(k,2725) * lu(k,3329)
         lu(k,3344) = lu(k,3344) - lu(k,2726) * lu(k,3329)
         lu(k,3345) = lu(k,3345) - lu(k,2727) * lu(k,3329)
         lu(k,3421) = lu(k,3421) - lu(k,2718) * lu(k,3420)
         lu(k,3424) = lu(k,3424) - lu(k,2719) * lu(k,3420)
         lu(k,3425) = - lu(k,2720) * lu(k,3420)
         lu(k,3429) = lu(k,3429) - lu(k,2721) * lu(k,3420)
         lu(k,3430) = lu(k,3430) - lu(k,2722) * lu(k,3420)
         lu(k,3431) = lu(k,3431) - lu(k,2723) * lu(k,3420)
         lu(k,3432) = lu(k,3432) - lu(k,2724) * lu(k,3420)
         lu(k,3433) = lu(k,3433) - lu(k,2725) * lu(k,3420)
         lu(k,3435) = lu(k,3435) - lu(k,2726) * lu(k,3420)
         lu(k,3436) = lu(k,3436) - lu(k,2727) * lu(k,3420)
         lu(k,3451) = lu(k,3451) - lu(k,2718) * lu(k,3450)
         lu(k,3454) = lu(k,3454) - lu(k,2719) * lu(k,3450)
         lu(k,3455) = lu(k,3455) - lu(k,2720) * lu(k,3450)
         lu(k,3459) = lu(k,3459) - lu(k,2721) * lu(k,3450)
         lu(k,3460) = lu(k,3460) - lu(k,2722) * lu(k,3450)
         lu(k,3461) = lu(k,3461) - lu(k,2723) * lu(k,3450)
         lu(k,3462) = lu(k,3462) - lu(k,2724) * lu(k,3450)
         lu(k,3463) = lu(k,3463) - lu(k,2725) * lu(k,3450)
         lu(k,3465) = lu(k,3465) - lu(k,2726) * lu(k,3450)
         lu(k,3466) = lu(k,3466) - lu(k,2727) * lu(k,3450)
         lu(k,3501) = lu(k,3501) - lu(k,2718) * lu(k,3500)
         lu(k,3504) = lu(k,3504) - lu(k,2719) * lu(k,3500)
         lu(k,3505) = lu(k,3505) - lu(k,2720) * lu(k,3500)
         lu(k,3509) = lu(k,3509) - lu(k,2721) * lu(k,3500)
         lu(k,3510) = lu(k,3510) - lu(k,2722) * lu(k,3500)
         lu(k,3511) = lu(k,3511) - lu(k,2723) * lu(k,3500)
         lu(k,3512) = lu(k,3512) - lu(k,2724) * lu(k,3500)
         lu(k,3513) = lu(k,3513) - lu(k,2725) * lu(k,3500)
         lu(k,3515) = lu(k,3515) - lu(k,2726) * lu(k,3500)
         lu(k,3516) = lu(k,3516) - lu(k,2727) * lu(k,3500)
         lu(k,3741) = lu(k,3741) - lu(k,2718) * lu(k,3740)
         lu(k,3744) = lu(k,3744) - lu(k,2719) * lu(k,3740)
         lu(k,3745) = lu(k,3745) - lu(k,2720) * lu(k,3740)
         lu(k,3749) = lu(k,3749) - lu(k,2721) * lu(k,3740)
         lu(k,3750) = lu(k,3750) - lu(k,2722) * lu(k,3740)
         lu(k,3751) = lu(k,3751) - lu(k,2723) * lu(k,3740)
         lu(k,3752) = lu(k,3752) - lu(k,2724) * lu(k,3740)
         lu(k,3753) = lu(k,3753) - lu(k,2725) * lu(k,3740)
         lu(k,3755) = lu(k,3755) - lu(k,2726) * lu(k,3740)
         lu(k,3756) = lu(k,3756) - lu(k,2727) * lu(k,3740)
         lu(k,3764) = lu(k,3764) - lu(k,2718) * lu(k,3763)
         lu(k,3766) = lu(k,3766) - lu(k,2719) * lu(k,3763)
         lu(k,3767) = lu(k,3767) - lu(k,2720) * lu(k,3763)
         lu(k,3771) = - lu(k,2721) * lu(k,3763)
         lu(k,3772) = lu(k,3772) - lu(k,2722) * lu(k,3763)
         lu(k,3773) = lu(k,3773) - lu(k,2723) * lu(k,3763)
         lu(k,3774) = lu(k,3774) - lu(k,2724) * lu(k,3763)
         lu(k,3775) = lu(k,3775) - lu(k,2725) * lu(k,3763)
         lu(k,3777) = lu(k,3777) - lu(k,2726) * lu(k,3763)
         lu(k,3778) = lu(k,3778) - lu(k,2727) * lu(k,3763)
         lu(k,3787) = lu(k,3787) - lu(k,2718) * lu(k,3786)
         lu(k,3790) = lu(k,3790) - lu(k,2719) * lu(k,3786)
         lu(k,3791) = lu(k,3791) - lu(k,2720) * lu(k,3786)
         lu(k,3795) = - lu(k,2721) * lu(k,3786)
         lu(k,3796) = lu(k,3796) - lu(k,2722) * lu(k,3786)
         lu(k,3797) = lu(k,3797) - lu(k,2723) * lu(k,3786)
         lu(k,3798) = lu(k,3798) - lu(k,2724) * lu(k,3786)
         lu(k,3799) = lu(k,3799) - lu(k,2725) * lu(k,3786)
         lu(k,3801) = lu(k,3801) - lu(k,2726) * lu(k,3786)
         lu(k,3802) = lu(k,3802) - lu(k,2727) * lu(k,3786)
         lu(k,3822) = lu(k,3822) - lu(k,2718) * lu(k,3821)
         lu(k,3825) = lu(k,3825) - lu(k,2719) * lu(k,3821)
         lu(k,3826) = lu(k,3826) - lu(k,2720) * lu(k,3821)
         lu(k,3830) = lu(k,3830) - lu(k,2721) * lu(k,3821)
         lu(k,3831) = lu(k,3831) - lu(k,2722) * lu(k,3821)
         lu(k,3832) = lu(k,3832) - lu(k,2723) * lu(k,3821)
         lu(k,3833) = lu(k,3833) - lu(k,2724) * lu(k,3821)
         lu(k,3834) = lu(k,3834) - lu(k,2725) * lu(k,3821)
         lu(k,3836) = lu(k,3836) - lu(k,2726) * lu(k,3821)
         lu(k,3837) = lu(k,3837) - lu(k,2727) * lu(k,3821)
         lu(k,3847) = lu(k,3847) - lu(k,2718) * lu(k,3846)
         lu(k,3850) = lu(k,3850) - lu(k,2719) * lu(k,3846)
         lu(k,3851) = lu(k,3851) - lu(k,2720) * lu(k,3846)
         lu(k,3855) = lu(k,3855) - lu(k,2721) * lu(k,3846)
         lu(k,3856) = lu(k,3856) - lu(k,2722) * lu(k,3846)
         lu(k,3857) = lu(k,3857) - lu(k,2723) * lu(k,3846)
         lu(k,3858) = lu(k,3858) - lu(k,2724) * lu(k,3846)
         lu(k,3859) = lu(k,3859) - lu(k,2725) * lu(k,3846)
         lu(k,3861) = lu(k,3861) - lu(k,2726) * lu(k,3846)
         lu(k,3862) = lu(k,3862) - lu(k,2727) * lu(k,3846)
         lu(k,2730) = 1._r8 / lu(k,2730)
         lu(k,2731) = lu(k,2731) * lu(k,2730)
         lu(k,2732) = lu(k,2732) * lu(k,2730)
         lu(k,2733) = lu(k,2733) * lu(k,2730)
         lu(k,2734) = lu(k,2734) * lu(k,2730)
         lu(k,2735) = lu(k,2735) * lu(k,2730)
         lu(k,2736) = lu(k,2736) * lu(k,2730)
         lu(k,2737) = lu(k,2737) * lu(k,2730)
         lu(k,2738) = lu(k,2738) * lu(k,2730)
         lu(k,2739) = lu(k,2739) * lu(k,2730)
         lu(k,2740) = lu(k,2740) * lu(k,2730)
         lu(k,2741) = lu(k,2741) * lu(k,2730)
         lu(k,2886) = lu(k,2886) - lu(k,2731) * lu(k,2884)
         lu(k,2887) = lu(k,2887) - lu(k,2732) * lu(k,2884)
         lu(k,2888) = lu(k,2888) - lu(k,2733) * lu(k,2884)
         lu(k,2889) = lu(k,2889) - lu(k,2734) * lu(k,2884)
         lu(k,2892) = lu(k,2892) - lu(k,2735) * lu(k,2884)
         lu(k,2893) = lu(k,2893) - lu(k,2736) * lu(k,2884)
         lu(k,2894) = lu(k,2894) - lu(k,2737) * lu(k,2884)
         lu(k,2895) = lu(k,2895) - lu(k,2738) * lu(k,2884)
         lu(k,2896) = lu(k,2896) - lu(k,2739) * lu(k,2884)
         lu(k,2898) = lu(k,2898) - lu(k,2740) * lu(k,2884)
         lu(k,2899) = lu(k,2899) - lu(k,2741) * lu(k,2884)
         lu(k,2987) = lu(k,2987) - lu(k,2731) * lu(k,2985)
         lu(k,2988) = lu(k,2988) - lu(k,2732) * lu(k,2985)
         lu(k,2989) = lu(k,2989) - lu(k,2733) * lu(k,2985)
         lu(k,2990) = lu(k,2990) - lu(k,2734) * lu(k,2985)
         lu(k,2993) = lu(k,2993) - lu(k,2735) * lu(k,2985)
         lu(k,2994) = lu(k,2994) - lu(k,2736) * lu(k,2985)
         lu(k,2995) = lu(k,2995) - lu(k,2737) * lu(k,2985)
         lu(k,2996) = lu(k,2996) - lu(k,2738) * lu(k,2985)
         lu(k,2997) = lu(k,2997) - lu(k,2739) * lu(k,2985)
         lu(k,2999) = lu(k,2999) - lu(k,2740) * lu(k,2985)
         lu(k,3000) = lu(k,3000) - lu(k,2741) * lu(k,2985)
         lu(k,3079) = lu(k,3079) - lu(k,2731) * lu(k,3077)
         lu(k,3080) = lu(k,3080) - lu(k,2732) * lu(k,3077)
         lu(k,3081) = lu(k,3081) - lu(k,2733) * lu(k,3077)
         lu(k,3082) = lu(k,3082) - lu(k,2734) * lu(k,3077)
         lu(k,3085) = lu(k,3085) - lu(k,2735) * lu(k,3077)
         lu(k,3086) = lu(k,3086) - lu(k,2736) * lu(k,3077)
         lu(k,3087) = lu(k,3087) - lu(k,2737) * lu(k,3077)
         lu(k,3088) = lu(k,3088) - lu(k,2738) * lu(k,3077)
         lu(k,3089) = lu(k,3089) - lu(k,2739) * lu(k,3077)
         lu(k,3091) = lu(k,3091) - lu(k,2740) * lu(k,3077)
         lu(k,3092) = lu(k,3092) - lu(k,2741) * lu(k,3077)
         lu(k,3103) = lu(k,3103) - lu(k,2731) * lu(k,3101)
         lu(k,3104) = lu(k,3104) - lu(k,2732) * lu(k,3101)
         lu(k,3105) = lu(k,3105) - lu(k,2733) * lu(k,3101)
         lu(k,3106) = lu(k,3106) - lu(k,2734) * lu(k,3101)
         lu(k,3109) = lu(k,3109) - lu(k,2735) * lu(k,3101)
         lu(k,3110) = lu(k,3110) - lu(k,2736) * lu(k,3101)
         lu(k,3111) = lu(k,3111) - lu(k,2737) * lu(k,3101)
         lu(k,3112) = lu(k,3112) - lu(k,2738) * lu(k,3101)
         lu(k,3113) = lu(k,3113) - lu(k,2739) * lu(k,3101)
         lu(k,3115) = lu(k,3115) - lu(k,2740) * lu(k,3101)
         lu(k,3116) = lu(k,3116) - lu(k,2741) * lu(k,3101)
         lu(k,3282) = lu(k,3282) - lu(k,2731) * lu(k,3280)
         lu(k,3283) = lu(k,3283) - lu(k,2732) * lu(k,3280)
         lu(k,3284) = lu(k,3284) - lu(k,2733) * lu(k,3280)
         lu(k,3285) = lu(k,3285) - lu(k,2734) * lu(k,3280)
         lu(k,3288) = lu(k,3288) - lu(k,2735) * lu(k,3280)
         lu(k,3289) = lu(k,3289) - lu(k,2736) * lu(k,3280)
         lu(k,3290) = lu(k,3290) - lu(k,2737) * lu(k,3280)
         lu(k,3291) = lu(k,3291) - lu(k,2738) * lu(k,3280)
         lu(k,3292) = lu(k,3292) - lu(k,2739) * lu(k,3280)
         lu(k,3294) = lu(k,3294) - lu(k,2740) * lu(k,3280)
         lu(k,3295) = lu(k,3295) - lu(k,2741) * lu(k,3280)
         lu(k,3308) = lu(k,3308) - lu(k,2731) * lu(k,3306)
         lu(k,3309) = lu(k,3309) - lu(k,2732) * lu(k,3306)
         lu(k,3310) = lu(k,3310) - lu(k,2733) * lu(k,3306)
         lu(k,3311) = lu(k,3311) - lu(k,2734) * lu(k,3306)
         lu(k,3314) = lu(k,3314) - lu(k,2735) * lu(k,3306)
         lu(k,3315) = lu(k,3315) - lu(k,2736) * lu(k,3306)
         lu(k,3316) = lu(k,3316) - lu(k,2737) * lu(k,3306)
         lu(k,3317) = lu(k,3317) - lu(k,2738) * lu(k,3306)
         lu(k,3318) = lu(k,3318) - lu(k,2739) * lu(k,3306)
         lu(k,3320) = lu(k,3320) - lu(k,2740) * lu(k,3306)
         lu(k,3321) = lu(k,3321) - lu(k,2741) * lu(k,3306)
         lu(k,3332) = lu(k,3332) - lu(k,2731) * lu(k,3330)
         lu(k,3333) = lu(k,3333) - lu(k,2732) * lu(k,3330)
         lu(k,3334) = lu(k,3334) - lu(k,2733) * lu(k,3330)
         lu(k,3335) = lu(k,3335) - lu(k,2734) * lu(k,3330)
         lu(k,3338) = lu(k,3338) - lu(k,2735) * lu(k,3330)
         lu(k,3339) = lu(k,3339) - lu(k,2736) * lu(k,3330)
         lu(k,3340) = lu(k,3340) - lu(k,2737) * lu(k,3330)
         lu(k,3341) = lu(k,3341) - lu(k,2738) * lu(k,3330)
         lu(k,3342) = lu(k,3342) - lu(k,2739) * lu(k,3330)
         lu(k,3344) = lu(k,3344) - lu(k,2740) * lu(k,3330)
         lu(k,3345) = lu(k,3345) - lu(k,2741) * lu(k,3330)
         lu(k,3423) = lu(k,3423) - lu(k,2731) * lu(k,3421)
         lu(k,3424) = lu(k,3424) - lu(k,2732) * lu(k,3421)
         lu(k,3425) = lu(k,3425) - lu(k,2733) * lu(k,3421)
         lu(k,3426) = lu(k,3426) - lu(k,2734) * lu(k,3421)
         lu(k,3429) = lu(k,3429) - lu(k,2735) * lu(k,3421)
         lu(k,3430) = lu(k,3430) - lu(k,2736) * lu(k,3421)
         lu(k,3431) = lu(k,3431) - lu(k,2737) * lu(k,3421)
         lu(k,3432) = lu(k,3432) - lu(k,2738) * lu(k,3421)
         lu(k,3433) = lu(k,3433) - lu(k,2739) * lu(k,3421)
         lu(k,3435) = lu(k,3435) - lu(k,2740) * lu(k,3421)
         lu(k,3436) = lu(k,3436) - lu(k,2741) * lu(k,3421)
         lu(k,3453) = lu(k,3453) - lu(k,2731) * lu(k,3451)
         lu(k,3454) = lu(k,3454) - lu(k,2732) * lu(k,3451)
         lu(k,3455) = lu(k,3455) - lu(k,2733) * lu(k,3451)
         lu(k,3456) = lu(k,3456) - lu(k,2734) * lu(k,3451)
         lu(k,3459) = lu(k,3459) - lu(k,2735) * lu(k,3451)
         lu(k,3460) = lu(k,3460) - lu(k,2736) * lu(k,3451)
         lu(k,3461) = lu(k,3461) - lu(k,2737) * lu(k,3451)
         lu(k,3462) = lu(k,3462) - lu(k,2738) * lu(k,3451)
         lu(k,3463) = lu(k,3463) - lu(k,2739) * lu(k,3451)
         lu(k,3465) = lu(k,3465) - lu(k,2740) * lu(k,3451)
         lu(k,3466) = lu(k,3466) - lu(k,2741) * lu(k,3451)
         lu(k,3503) = lu(k,3503) - lu(k,2731) * lu(k,3501)
         lu(k,3504) = lu(k,3504) - lu(k,2732) * lu(k,3501)
         lu(k,3505) = lu(k,3505) - lu(k,2733) * lu(k,3501)
         lu(k,3506) = lu(k,3506) - lu(k,2734) * lu(k,3501)
         lu(k,3509) = lu(k,3509) - lu(k,2735) * lu(k,3501)
         lu(k,3510) = lu(k,3510) - lu(k,2736) * lu(k,3501)
         lu(k,3511) = lu(k,3511) - lu(k,2737) * lu(k,3501)
         lu(k,3512) = lu(k,3512) - lu(k,2738) * lu(k,3501)
         lu(k,3513) = lu(k,3513) - lu(k,2739) * lu(k,3501)
         lu(k,3515) = lu(k,3515) - lu(k,2740) * lu(k,3501)
         lu(k,3516) = lu(k,3516) - lu(k,2741) * lu(k,3501)
         lu(k,3743) = lu(k,3743) - lu(k,2731) * lu(k,3741)
         lu(k,3744) = lu(k,3744) - lu(k,2732) * lu(k,3741)
         lu(k,3745) = lu(k,3745) - lu(k,2733) * lu(k,3741)
         lu(k,3746) = lu(k,3746) - lu(k,2734) * lu(k,3741)
         lu(k,3749) = lu(k,3749) - lu(k,2735) * lu(k,3741)
         lu(k,3750) = lu(k,3750) - lu(k,2736) * lu(k,3741)
         lu(k,3751) = lu(k,3751) - lu(k,2737) * lu(k,3741)
         lu(k,3752) = lu(k,3752) - lu(k,2738) * lu(k,3741)
         lu(k,3753) = lu(k,3753) - lu(k,2739) * lu(k,3741)
         lu(k,3755) = lu(k,3755) - lu(k,2740) * lu(k,3741)
         lu(k,3756) = lu(k,3756) - lu(k,2741) * lu(k,3741)
         lu(k,3765) = lu(k,3765) - lu(k,2731) * lu(k,3764)
         lu(k,3766) = lu(k,3766) - lu(k,2732) * lu(k,3764)
         lu(k,3767) = lu(k,3767) - lu(k,2733) * lu(k,3764)
         lu(k,3768) = lu(k,3768) - lu(k,2734) * lu(k,3764)
         lu(k,3771) = lu(k,3771) - lu(k,2735) * lu(k,3764)
         lu(k,3772) = lu(k,3772) - lu(k,2736) * lu(k,3764)
         lu(k,3773) = lu(k,3773) - lu(k,2737) * lu(k,3764)
         lu(k,3774) = lu(k,3774) - lu(k,2738) * lu(k,3764)
         lu(k,3775) = lu(k,3775) - lu(k,2739) * lu(k,3764)
         lu(k,3777) = lu(k,3777) - lu(k,2740) * lu(k,3764)
         lu(k,3778) = lu(k,3778) - lu(k,2741) * lu(k,3764)
         lu(k,3789) = lu(k,3789) - lu(k,2731) * lu(k,3787)
         lu(k,3790) = lu(k,3790) - lu(k,2732) * lu(k,3787)
         lu(k,3791) = lu(k,3791) - lu(k,2733) * lu(k,3787)
         lu(k,3792) = lu(k,3792) - lu(k,2734) * lu(k,3787)
         lu(k,3795) = lu(k,3795) - lu(k,2735) * lu(k,3787)
         lu(k,3796) = lu(k,3796) - lu(k,2736) * lu(k,3787)
         lu(k,3797) = lu(k,3797) - lu(k,2737) * lu(k,3787)
         lu(k,3798) = lu(k,3798) - lu(k,2738) * lu(k,3787)
         lu(k,3799) = lu(k,3799) - lu(k,2739) * lu(k,3787)
         lu(k,3801) = lu(k,3801) - lu(k,2740) * lu(k,3787)
         lu(k,3802) = lu(k,3802) - lu(k,2741) * lu(k,3787)
         lu(k,3824) = lu(k,3824) - lu(k,2731) * lu(k,3822)
         lu(k,3825) = lu(k,3825) - lu(k,2732) * lu(k,3822)
         lu(k,3826) = lu(k,3826) - lu(k,2733) * lu(k,3822)
         lu(k,3827) = lu(k,3827) - lu(k,2734) * lu(k,3822)
         lu(k,3830) = lu(k,3830) - lu(k,2735) * lu(k,3822)
         lu(k,3831) = lu(k,3831) - lu(k,2736) * lu(k,3822)
         lu(k,3832) = lu(k,3832) - lu(k,2737) * lu(k,3822)
         lu(k,3833) = lu(k,3833) - lu(k,2738) * lu(k,3822)
         lu(k,3834) = lu(k,3834) - lu(k,2739) * lu(k,3822)
         lu(k,3836) = lu(k,3836) - lu(k,2740) * lu(k,3822)
         lu(k,3837) = lu(k,3837) - lu(k,2741) * lu(k,3822)
         lu(k,3849) = lu(k,3849) - lu(k,2731) * lu(k,3847)
         lu(k,3850) = lu(k,3850) - lu(k,2732) * lu(k,3847)
         lu(k,3851) = lu(k,3851) - lu(k,2733) * lu(k,3847)
         lu(k,3852) = lu(k,3852) - lu(k,2734) * lu(k,3847)
         lu(k,3855) = lu(k,3855) - lu(k,2735) * lu(k,3847)
         lu(k,3856) = lu(k,3856) - lu(k,2736) * lu(k,3847)
         lu(k,3857) = lu(k,3857) - lu(k,2737) * lu(k,3847)
         lu(k,3858) = lu(k,3858) - lu(k,2738) * lu(k,3847)
         lu(k,3859) = lu(k,3859) - lu(k,2739) * lu(k,3847)
         lu(k,3861) = lu(k,3861) - lu(k,2740) * lu(k,3847)
         lu(k,3862) = lu(k,3862) - lu(k,2741) * lu(k,3847)
      end do
      end subroutine lu_fac48
      subroutine lu_fac49( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,2885) = 1._r8 / lu(k,2885)
         lu(k,2886) = lu(k,2886) * lu(k,2885)
         lu(k,2887) = lu(k,2887) * lu(k,2885)
         lu(k,2888) = lu(k,2888) * lu(k,2885)
         lu(k,2889) = lu(k,2889) * lu(k,2885)
         lu(k,2890) = lu(k,2890) * lu(k,2885)
         lu(k,2891) = lu(k,2891) * lu(k,2885)
         lu(k,2892) = lu(k,2892) * lu(k,2885)
         lu(k,2893) = lu(k,2893) * lu(k,2885)
         lu(k,2894) = lu(k,2894) * lu(k,2885)
         lu(k,2895) = lu(k,2895) * lu(k,2885)
         lu(k,2896) = lu(k,2896) * lu(k,2885)
         lu(k,2897) = lu(k,2897) * lu(k,2885)
         lu(k,2898) = lu(k,2898) * lu(k,2885)
         lu(k,2899) = lu(k,2899) * lu(k,2885)
         lu(k,2987) = lu(k,2987) - lu(k,2886) * lu(k,2986)
         lu(k,2988) = lu(k,2988) - lu(k,2887) * lu(k,2986)
         lu(k,2989) = lu(k,2989) - lu(k,2888) * lu(k,2986)
         lu(k,2990) = lu(k,2990) - lu(k,2889) * lu(k,2986)
         lu(k,2991) = lu(k,2991) - lu(k,2890) * lu(k,2986)
         lu(k,2992) = lu(k,2992) - lu(k,2891) * lu(k,2986)
         lu(k,2993) = lu(k,2993) - lu(k,2892) * lu(k,2986)
         lu(k,2994) = lu(k,2994) - lu(k,2893) * lu(k,2986)
         lu(k,2995) = lu(k,2995) - lu(k,2894) * lu(k,2986)
         lu(k,2996) = lu(k,2996) - lu(k,2895) * lu(k,2986)
         lu(k,2997) = lu(k,2997) - lu(k,2896) * lu(k,2986)
         lu(k,2998) = lu(k,2998) - lu(k,2897) * lu(k,2986)
         lu(k,2999) = lu(k,2999) - lu(k,2898) * lu(k,2986)
         lu(k,3000) = lu(k,3000) - lu(k,2899) * lu(k,2986)
         lu(k,3079) = lu(k,3079) - lu(k,2886) * lu(k,3078)
         lu(k,3080) = lu(k,3080) - lu(k,2887) * lu(k,3078)
         lu(k,3081) = lu(k,3081) - lu(k,2888) * lu(k,3078)
         lu(k,3082) = lu(k,3082) - lu(k,2889) * lu(k,3078)
         lu(k,3083) = lu(k,3083) - lu(k,2890) * lu(k,3078)
         lu(k,3084) = lu(k,3084) - lu(k,2891) * lu(k,3078)
         lu(k,3085) = lu(k,3085) - lu(k,2892) * lu(k,3078)
         lu(k,3086) = lu(k,3086) - lu(k,2893) * lu(k,3078)
         lu(k,3087) = lu(k,3087) - lu(k,2894) * lu(k,3078)
         lu(k,3088) = lu(k,3088) - lu(k,2895) * lu(k,3078)
         lu(k,3089) = lu(k,3089) - lu(k,2896) * lu(k,3078)
         lu(k,3090) = lu(k,3090) - lu(k,2897) * lu(k,3078)
         lu(k,3091) = lu(k,3091) - lu(k,2898) * lu(k,3078)
         lu(k,3092) = lu(k,3092) - lu(k,2899) * lu(k,3078)
         lu(k,3103) = lu(k,3103) - lu(k,2886) * lu(k,3102)
         lu(k,3104) = lu(k,3104) - lu(k,2887) * lu(k,3102)
         lu(k,3105) = lu(k,3105) - lu(k,2888) * lu(k,3102)
         lu(k,3106) = lu(k,3106) - lu(k,2889) * lu(k,3102)
         lu(k,3107) = lu(k,3107) - lu(k,2890) * lu(k,3102)
         lu(k,3108) = lu(k,3108) - lu(k,2891) * lu(k,3102)
         lu(k,3109) = lu(k,3109) - lu(k,2892) * lu(k,3102)
         lu(k,3110) = lu(k,3110) - lu(k,2893) * lu(k,3102)
         lu(k,3111) = lu(k,3111) - lu(k,2894) * lu(k,3102)
         lu(k,3112) = lu(k,3112) - lu(k,2895) * lu(k,3102)
         lu(k,3113) = lu(k,3113) - lu(k,2896) * lu(k,3102)
         lu(k,3114) = lu(k,3114) - lu(k,2897) * lu(k,3102)
         lu(k,3115) = lu(k,3115) - lu(k,2898) * lu(k,3102)
         lu(k,3116) = lu(k,3116) - lu(k,2899) * lu(k,3102)
         lu(k,3282) = lu(k,3282) - lu(k,2886) * lu(k,3281)
         lu(k,3283) = lu(k,3283) - lu(k,2887) * lu(k,3281)
         lu(k,3284) = lu(k,3284) - lu(k,2888) * lu(k,3281)
         lu(k,3285) = lu(k,3285) - lu(k,2889) * lu(k,3281)
         lu(k,3286) = lu(k,3286) - lu(k,2890) * lu(k,3281)
         lu(k,3287) = lu(k,3287) - lu(k,2891) * lu(k,3281)
         lu(k,3288) = lu(k,3288) - lu(k,2892) * lu(k,3281)
         lu(k,3289) = lu(k,3289) - lu(k,2893) * lu(k,3281)
         lu(k,3290) = lu(k,3290) - lu(k,2894) * lu(k,3281)
         lu(k,3291) = lu(k,3291) - lu(k,2895) * lu(k,3281)
         lu(k,3292) = lu(k,3292) - lu(k,2896) * lu(k,3281)
         lu(k,3293) = lu(k,3293) - lu(k,2897) * lu(k,3281)
         lu(k,3294) = lu(k,3294) - lu(k,2898) * lu(k,3281)
         lu(k,3295) = lu(k,3295) - lu(k,2899) * lu(k,3281)
         lu(k,3308) = lu(k,3308) - lu(k,2886) * lu(k,3307)
         lu(k,3309) = lu(k,3309) - lu(k,2887) * lu(k,3307)
         lu(k,3310) = lu(k,3310) - lu(k,2888) * lu(k,3307)
         lu(k,3311) = lu(k,3311) - lu(k,2889) * lu(k,3307)
         lu(k,3312) = lu(k,3312) - lu(k,2890) * lu(k,3307)
         lu(k,3313) = lu(k,3313) - lu(k,2891) * lu(k,3307)
         lu(k,3314) = lu(k,3314) - lu(k,2892) * lu(k,3307)
         lu(k,3315) = lu(k,3315) - lu(k,2893) * lu(k,3307)
         lu(k,3316) = lu(k,3316) - lu(k,2894) * lu(k,3307)
         lu(k,3317) = lu(k,3317) - lu(k,2895) * lu(k,3307)
         lu(k,3318) = lu(k,3318) - lu(k,2896) * lu(k,3307)
         lu(k,3319) = lu(k,3319) - lu(k,2897) * lu(k,3307)
         lu(k,3320) = lu(k,3320) - lu(k,2898) * lu(k,3307)
         lu(k,3321) = lu(k,3321) - lu(k,2899) * lu(k,3307)
         lu(k,3332) = lu(k,3332) - lu(k,2886) * lu(k,3331)
         lu(k,3333) = lu(k,3333) - lu(k,2887) * lu(k,3331)
         lu(k,3334) = lu(k,3334) - lu(k,2888) * lu(k,3331)
         lu(k,3335) = lu(k,3335) - lu(k,2889) * lu(k,3331)
         lu(k,3336) = - lu(k,2890) * lu(k,3331)
         lu(k,3337) = lu(k,3337) - lu(k,2891) * lu(k,3331)
         lu(k,3338) = lu(k,3338) - lu(k,2892) * lu(k,3331)
         lu(k,3339) = lu(k,3339) - lu(k,2893) * lu(k,3331)
         lu(k,3340) = lu(k,3340) - lu(k,2894) * lu(k,3331)
         lu(k,3341) = lu(k,3341) - lu(k,2895) * lu(k,3331)
         lu(k,3342) = lu(k,3342) - lu(k,2896) * lu(k,3331)
         lu(k,3343) = lu(k,3343) - lu(k,2897) * lu(k,3331)
         lu(k,3344) = lu(k,3344) - lu(k,2898) * lu(k,3331)
         lu(k,3345) = lu(k,3345) - lu(k,2899) * lu(k,3331)
         lu(k,3423) = lu(k,3423) - lu(k,2886) * lu(k,3422)
         lu(k,3424) = lu(k,3424) - lu(k,2887) * lu(k,3422)
         lu(k,3425) = lu(k,3425) - lu(k,2888) * lu(k,3422)
         lu(k,3426) = lu(k,3426) - lu(k,2889) * lu(k,3422)
         lu(k,3427) = lu(k,3427) - lu(k,2890) * lu(k,3422)
         lu(k,3428) = lu(k,3428) - lu(k,2891) * lu(k,3422)
         lu(k,3429) = lu(k,3429) - lu(k,2892) * lu(k,3422)
         lu(k,3430) = lu(k,3430) - lu(k,2893) * lu(k,3422)
         lu(k,3431) = lu(k,3431) - lu(k,2894) * lu(k,3422)
         lu(k,3432) = lu(k,3432) - lu(k,2895) * lu(k,3422)
         lu(k,3433) = lu(k,3433) - lu(k,2896) * lu(k,3422)
         lu(k,3434) = - lu(k,2897) * lu(k,3422)
         lu(k,3435) = lu(k,3435) - lu(k,2898) * lu(k,3422)
         lu(k,3436) = lu(k,3436) - lu(k,2899) * lu(k,3422)
         lu(k,3453) = lu(k,3453) - lu(k,2886) * lu(k,3452)
         lu(k,3454) = lu(k,3454) - lu(k,2887) * lu(k,3452)
         lu(k,3455) = lu(k,3455) - lu(k,2888) * lu(k,3452)
         lu(k,3456) = lu(k,3456) - lu(k,2889) * lu(k,3452)
         lu(k,3457) = lu(k,3457) - lu(k,2890) * lu(k,3452)
         lu(k,3458) = lu(k,3458) - lu(k,2891) * lu(k,3452)
         lu(k,3459) = lu(k,3459) - lu(k,2892) * lu(k,3452)
         lu(k,3460) = lu(k,3460) - lu(k,2893) * lu(k,3452)
         lu(k,3461) = lu(k,3461) - lu(k,2894) * lu(k,3452)
         lu(k,3462) = lu(k,3462) - lu(k,2895) * lu(k,3452)
         lu(k,3463) = lu(k,3463) - lu(k,2896) * lu(k,3452)
         lu(k,3464) = lu(k,3464) - lu(k,2897) * lu(k,3452)
         lu(k,3465) = lu(k,3465) - lu(k,2898) * lu(k,3452)
         lu(k,3466) = lu(k,3466) - lu(k,2899) * lu(k,3452)
         lu(k,3503) = lu(k,3503) - lu(k,2886) * lu(k,3502)
         lu(k,3504) = lu(k,3504) - lu(k,2887) * lu(k,3502)
         lu(k,3505) = lu(k,3505) - lu(k,2888) * lu(k,3502)
         lu(k,3506) = lu(k,3506) - lu(k,2889) * lu(k,3502)
         lu(k,3507) = lu(k,3507) - lu(k,2890) * lu(k,3502)
         lu(k,3508) = lu(k,3508) - lu(k,2891) * lu(k,3502)
         lu(k,3509) = lu(k,3509) - lu(k,2892) * lu(k,3502)
         lu(k,3510) = lu(k,3510) - lu(k,2893) * lu(k,3502)
         lu(k,3511) = lu(k,3511) - lu(k,2894) * lu(k,3502)
         lu(k,3512) = lu(k,3512) - lu(k,2895) * lu(k,3502)
         lu(k,3513) = lu(k,3513) - lu(k,2896) * lu(k,3502)
         lu(k,3514) = lu(k,3514) - lu(k,2897) * lu(k,3502)
         lu(k,3515) = lu(k,3515) - lu(k,2898) * lu(k,3502)
         lu(k,3516) = lu(k,3516) - lu(k,2899) * lu(k,3502)
         lu(k,3743) = lu(k,3743) - lu(k,2886) * lu(k,3742)
         lu(k,3744) = lu(k,3744) - lu(k,2887) * lu(k,3742)
         lu(k,3745) = lu(k,3745) - lu(k,2888) * lu(k,3742)
         lu(k,3746) = lu(k,3746) - lu(k,2889) * lu(k,3742)
         lu(k,3747) = lu(k,3747) - lu(k,2890) * lu(k,3742)
         lu(k,3748) = lu(k,3748) - lu(k,2891) * lu(k,3742)
         lu(k,3749) = lu(k,3749) - lu(k,2892) * lu(k,3742)
         lu(k,3750) = lu(k,3750) - lu(k,2893) * lu(k,3742)
         lu(k,3751) = lu(k,3751) - lu(k,2894) * lu(k,3742)
         lu(k,3752) = lu(k,3752) - lu(k,2895) * lu(k,3742)
         lu(k,3753) = lu(k,3753) - lu(k,2896) * lu(k,3742)
         lu(k,3754) = lu(k,3754) - lu(k,2897) * lu(k,3742)
         lu(k,3755) = lu(k,3755) - lu(k,2898) * lu(k,3742)
         lu(k,3756) = lu(k,3756) - lu(k,2899) * lu(k,3742)
         lu(k,3789) = lu(k,3789) - lu(k,2886) * lu(k,3788)
         lu(k,3790) = lu(k,3790) - lu(k,2887) * lu(k,3788)
         lu(k,3791) = lu(k,3791) - lu(k,2888) * lu(k,3788)
         lu(k,3792) = lu(k,3792) - lu(k,2889) * lu(k,3788)
         lu(k,3793) = lu(k,3793) - lu(k,2890) * lu(k,3788)
         lu(k,3794) = lu(k,3794) - lu(k,2891) * lu(k,3788)
         lu(k,3795) = lu(k,3795) - lu(k,2892) * lu(k,3788)
         lu(k,3796) = lu(k,3796) - lu(k,2893) * lu(k,3788)
         lu(k,3797) = lu(k,3797) - lu(k,2894) * lu(k,3788)
         lu(k,3798) = lu(k,3798) - lu(k,2895) * lu(k,3788)
         lu(k,3799) = lu(k,3799) - lu(k,2896) * lu(k,3788)
         lu(k,3800) = lu(k,3800) - lu(k,2897) * lu(k,3788)
         lu(k,3801) = lu(k,3801) - lu(k,2898) * lu(k,3788)
         lu(k,3802) = lu(k,3802) - lu(k,2899) * lu(k,3788)
         lu(k,3824) = lu(k,3824) - lu(k,2886) * lu(k,3823)
         lu(k,3825) = lu(k,3825) - lu(k,2887) * lu(k,3823)
         lu(k,3826) = lu(k,3826) - lu(k,2888) * lu(k,3823)
         lu(k,3827) = lu(k,3827) - lu(k,2889) * lu(k,3823)
         lu(k,3828) = lu(k,3828) - lu(k,2890) * lu(k,3823)
         lu(k,3829) = lu(k,3829) - lu(k,2891) * lu(k,3823)
         lu(k,3830) = lu(k,3830) - lu(k,2892) * lu(k,3823)
         lu(k,3831) = lu(k,3831) - lu(k,2893) * lu(k,3823)
         lu(k,3832) = lu(k,3832) - lu(k,2894) * lu(k,3823)
         lu(k,3833) = lu(k,3833) - lu(k,2895) * lu(k,3823)
         lu(k,3834) = lu(k,3834) - lu(k,2896) * lu(k,3823)
         lu(k,3835) = lu(k,3835) - lu(k,2897) * lu(k,3823)
         lu(k,3836) = lu(k,3836) - lu(k,2898) * lu(k,3823)
         lu(k,3837) = lu(k,3837) - lu(k,2899) * lu(k,3823)
         lu(k,3849) = lu(k,3849) - lu(k,2886) * lu(k,3848)
         lu(k,3850) = lu(k,3850) - lu(k,2887) * lu(k,3848)
         lu(k,3851) = lu(k,3851) - lu(k,2888) * lu(k,3848)
         lu(k,3852) = lu(k,3852) - lu(k,2889) * lu(k,3848)
         lu(k,3853) = lu(k,3853) - lu(k,2890) * lu(k,3848)
         lu(k,3854) = lu(k,3854) - lu(k,2891) * lu(k,3848)
         lu(k,3855) = lu(k,3855) - lu(k,2892) * lu(k,3848)
         lu(k,3856) = lu(k,3856) - lu(k,2893) * lu(k,3848)
         lu(k,3857) = lu(k,3857) - lu(k,2894) * lu(k,3848)
         lu(k,3858) = lu(k,3858) - lu(k,2895) * lu(k,3848)
         lu(k,3859) = lu(k,3859) - lu(k,2896) * lu(k,3848)
         lu(k,3860) = lu(k,3860) - lu(k,2897) * lu(k,3848)
         lu(k,3861) = lu(k,3861) - lu(k,2898) * lu(k,3848)
         lu(k,3862) = lu(k,3862) - lu(k,2899) * lu(k,3848)
         lu(k,2987) = 1._r8 / lu(k,2987)
         lu(k,2988) = lu(k,2988) * lu(k,2987)
         lu(k,2989) = lu(k,2989) * lu(k,2987)
         lu(k,2990) = lu(k,2990) * lu(k,2987)
         lu(k,2991) = lu(k,2991) * lu(k,2987)
         lu(k,2992) = lu(k,2992) * lu(k,2987)
         lu(k,2993) = lu(k,2993) * lu(k,2987)
         lu(k,2994) = lu(k,2994) * lu(k,2987)
         lu(k,2995) = lu(k,2995) * lu(k,2987)
         lu(k,2996) = lu(k,2996) * lu(k,2987)
         lu(k,2997) = lu(k,2997) * lu(k,2987)
         lu(k,2998) = lu(k,2998) * lu(k,2987)
         lu(k,2999) = lu(k,2999) * lu(k,2987)
         lu(k,3000) = lu(k,3000) * lu(k,2987)
         lu(k,3080) = lu(k,3080) - lu(k,2988) * lu(k,3079)
         lu(k,3081) = lu(k,3081) - lu(k,2989) * lu(k,3079)
         lu(k,3082) = lu(k,3082) - lu(k,2990) * lu(k,3079)
         lu(k,3083) = lu(k,3083) - lu(k,2991) * lu(k,3079)
         lu(k,3084) = lu(k,3084) - lu(k,2992) * lu(k,3079)
         lu(k,3085) = lu(k,3085) - lu(k,2993) * lu(k,3079)
         lu(k,3086) = lu(k,3086) - lu(k,2994) * lu(k,3079)
         lu(k,3087) = lu(k,3087) - lu(k,2995) * lu(k,3079)
         lu(k,3088) = lu(k,3088) - lu(k,2996) * lu(k,3079)
         lu(k,3089) = lu(k,3089) - lu(k,2997) * lu(k,3079)
         lu(k,3090) = lu(k,3090) - lu(k,2998) * lu(k,3079)
         lu(k,3091) = lu(k,3091) - lu(k,2999) * lu(k,3079)
         lu(k,3092) = lu(k,3092) - lu(k,3000) * lu(k,3079)
         lu(k,3104) = lu(k,3104) - lu(k,2988) * lu(k,3103)
         lu(k,3105) = lu(k,3105) - lu(k,2989) * lu(k,3103)
         lu(k,3106) = lu(k,3106) - lu(k,2990) * lu(k,3103)
         lu(k,3107) = lu(k,3107) - lu(k,2991) * lu(k,3103)
         lu(k,3108) = lu(k,3108) - lu(k,2992) * lu(k,3103)
         lu(k,3109) = lu(k,3109) - lu(k,2993) * lu(k,3103)
         lu(k,3110) = lu(k,3110) - lu(k,2994) * lu(k,3103)
         lu(k,3111) = lu(k,3111) - lu(k,2995) * lu(k,3103)
         lu(k,3112) = lu(k,3112) - lu(k,2996) * lu(k,3103)
         lu(k,3113) = lu(k,3113) - lu(k,2997) * lu(k,3103)
         lu(k,3114) = lu(k,3114) - lu(k,2998) * lu(k,3103)
         lu(k,3115) = lu(k,3115) - lu(k,2999) * lu(k,3103)
         lu(k,3116) = lu(k,3116) - lu(k,3000) * lu(k,3103)
         lu(k,3283) = lu(k,3283) - lu(k,2988) * lu(k,3282)
         lu(k,3284) = lu(k,3284) - lu(k,2989) * lu(k,3282)
         lu(k,3285) = lu(k,3285) - lu(k,2990) * lu(k,3282)
         lu(k,3286) = lu(k,3286) - lu(k,2991) * lu(k,3282)
         lu(k,3287) = lu(k,3287) - lu(k,2992) * lu(k,3282)
         lu(k,3288) = lu(k,3288) - lu(k,2993) * lu(k,3282)
         lu(k,3289) = lu(k,3289) - lu(k,2994) * lu(k,3282)
         lu(k,3290) = lu(k,3290) - lu(k,2995) * lu(k,3282)
         lu(k,3291) = lu(k,3291) - lu(k,2996) * lu(k,3282)
         lu(k,3292) = lu(k,3292) - lu(k,2997) * lu(k,3282)
         lu(k,3293) = lu(k,3293) - lu(k,2998) * lu(k,3282)
         lu(k,3294) = lu(k,3294) - lu(k,2999) * lu(k,3282)
         lu(k,3295) = lu(k,3295) - lu(k,3000) * lu(k,3282)
         lu(k,3309) = lu(k,3309) - lu(k,2988) * lu(k,3308)
         lu(k,3310) = lu(k,3310) - lu(k,2989) * lu(k,3308)
         lu(k,3311) = lu(k,3311) - lu(k,2990) * lu(k,3308)
         lu(k,3312) = lu(k,3312) - lu(k,2991) * lu(k,3308)
         lu(k,3313) = lu(k,3313) - lu(k,2992) * lu(k,3308)
         lu(k,3314) = lu(k,3314) - lu(k,2993) * lu(k,3308)
         lu(k,3315) = lu(k,3315) - lu(k,2994) * lu(k,3308)
         lu(k,3316) = lu(k,3316) - lu(k,2995) * lu(k,3308)
         lu(k,3317) = lu(k,3317) - lu(k,2996) * lu(k,3308)
         lu(k,3318) = lu(k,3318) - lu(k,2997) * lu(k,3308)
         lu(k,3319) = lu(k,3319) - lu(k,2998) * lu(k,3308)
         lu(k,3320) = lu(k,3320) - lu(k,2999) * lu(k,3308)
         lu(k,3321) = lu(k,3321) - lu(k,3000) * lu(k,3308)
         lu(k,3333) = lu(k,3333) - lu(k,2988) * lu(k,3332)
         lu(k,3334) = lu(k,3334) - lu(k,2989) * lu(k,3332)
         lu(k,3335) = lu(k,3335) - lu(k,2990) * lu(k,3332)
         lu(k,3336) = lu(k,3336) - lu(k,2991) * lu(k,3332)
         lu(k,3337) = lu(k,3337) - lu(k,2992) * lu(k,3332)
         lu(k,3338) = lu(k,3338) - lu(k,2993) * lu(k,3332)
         lu(k,3339) = lu(k,3339) - lu(k,2994) * lu(k,3332)
         lu(k,3340) = lu(k,3340) - lu(k,2995) * lu(k,3332)
         lu(k,3341) = lu(k,3341) - lu(k,2996) * lu(k,3332)
         lu(k,3342) = lu(k,3342) - lu(k,2997) * lu(k,3332)
         lu(k,3343) = lu(k,3343) - lu(k,2998) * lu(k,3332)
         lu(k,3344) = lu(k,3344) - lu(k,2999) * lu(k,3332)
         lu(k,3345) = lu(k,3345) - lu(k,3000) * lu(k,3332)
         lu(k,3424) = lu(k,3424) - lu(k,2988) * lu(k,3423)
         lu(k,3425) = lu(k,3425) - lu(k,2989) * lu(k,3423)
         lu(k,3426) = lu(k,3426) - lu(k,2990) * lu(k,3423)
         lu(k,3427) = lu(k,3427) - lu(k,2991) * lu(k,3423)
         lu(k,3428) = lu(k,3428) - lu(k,2992) * lu(k,3423)
         lu(k,3429) = lu(k,3429) - lu(k,2993) * lu(k,3423)
         lu(k,3430) = lu(k,3430) - lu(k,2994) * lu(k,3423)
         lu(k,3431) = lu(k,3431) - lu(k,2995) * lu(k,3423)
         lu(k,3432) = lu(k,3432) - lu(k,2996) * lu(k,3423)
         lu(k,3433) = lu(k,3433) - lu(k,2997) * lu(k,3423)
         lu(k,3434) = lu(k,3434) - lu(k,2998) * lu(k,3423)
         lu(k,3435) = lu(k,3435) - lu(k,2999) * lu(k,3423)
         lu(k,3436) = lu(k,3436) - lu(k,3000) * lu(k,3423)
         lu(k,3454) = lu(k,3454) - lu(k,2988) * lu(k,3453)
         lu(k,3455) = lu(k,3455) - lu(k,2989) * lu(k,3453)
         lu(k,3456) = lu(k,3456) - lu(k,2990) * lu(k,3453)
         lu(k,3457) = lu(k,3457) - lu(k,2991) * lu(k,3453)
         lu(k,3458) = lu(k,3458) - lu(k,2992) * lu(k,3453)
         lu(k,3459) = lu(k,3459) - lu(k,2993) * lu(k,3453)
         lu(k,3460) = lu(k,3460) - lu(k,2994) * lu(k,3453)
         lu(k,3461) = lu(k,3461) - lu(k,2995) * lu(k,3453)
         lu(k,3462) = lu(k,3462) - lu(k,2996) * lu(k,3453)
         lu(k,3463) = lu(k,3463) - lu(k,2997) * lu(k,3453)
         lu(k,3464) = lu(k,3464) - lu(k,2998) * lu(k,3453)
         lu(k,3465) = lu(k,3465) - lu(k,2999) * lu(k,3453)
         lu(k,3466) = lu(k,3466) - lu(k,3000) * lu(k,3453)
         lu(k,3504) = lu(k,3504) - lu(k,2988) * lu(k,3503)
         lu(k,3505) = lu(k,3505) - lu(k,2989) * lu(k,3503)
         lu(k,3506) = lu(k,3506) - lu(k,2990) * lu(k,3503)
         lu(k,3507) = lu(k,3507) - lu(k,2991) * lu(k,3503)
         lu(k,3508) = lu(k,3508) - lu(k,2992) * lu(k,3503)
         lu(k,3509) = lu(k,3509) - lu(k,2993) * lu(k,3503)
         lu(k,3510) = lu(k,3510) - lu(k,2994) * lu(k,3503)
         lu(k,3511) = lu(k,3511) - lu(k,2995) * lu(k,3503)
         lu(k,3512) = lu(k,3512) - lu(k,2996) * lu(k,3503)
         lu(k,3513) = lu(k,3513) - lu(k,2997) * lu(k,3503)
         lu(k,3514) = lu(k,3514) - lu(k,2998) * lu(k,3503)
         lu(k,3515) = lu(k,3515) - lu(k,2999) * lu(k,3503)
         lu(k,3516) = lu(k,3516) - lu(k,3000) * lu(k,3503)
         lu(k,3744) = lu(k,3744) - lu(k,2988) * lu(k,3743)
         lu(k,3745) = lu(k,3745) - lu(k,2989) * lu(k,3743)
         lu(k,3746) = lu(k,3746) - lu(k,2990) * lu(k,3743)
         lu(k,3747) = lu(k,3747) - lu(k,2991) * lu(k,3743)
         lu(k,3748) = lu(k,3748) - lu(k,2992) * lu(k,3743)
         lu(k,3749) = lu(k,3749) - lu(k,2993) * lu(k,3743)
         lu(k,3750) = lu(k,3750) - lu(k,2994) * lu(k,3743)
         lu(k,3751) = lu(k,3751) - lu(k,2995) * lu(k,3743)
         lu(k,3752) = lu(k,3752) - lu(k,2996) * lu(k,3743)
         lu(k,3753) = lu(k,3753) - lu(k,2997) * lu(k,3743)
         lu(k,3754) = lu(k,3754) - lu(k,2998) * lu(k,3743)
         lu(k,3755) = lu(k,3755) - lu(k,2999) * lu(k,3743)
         lu(k,3756) = lu(k,3756) - lu(k,3000) * lu(k,3743)
         lu(k,3766) = lu(k,3766) - lu(k,2988) * lu(k,3765)
         lu(k,3767) = lu(k,3767) - lu(k,2989) * lu(k,3765)
         lu(k,3768) = lu(k,3768) - lu(k,2990) * lu(k,3765)
         lu(k,3769) = lu(k,3769) - lu(k,2991) * lu(k,3765)
         lu(k,3770) = lu(k,3770) - lu(k,2992) * lu(k,3765)
         lu(k,3771) = lu(k,3771) - lu(k,2993) * lu(k,3765)
         lu(k,3772) = lu(k,3772) - lu(k,2994) * lu(k,3765)
         lu(k,3773) = lu(k,3773) - lu(k,2995) * lu(k,3765)
         lu(k,3774) = lu(k,3774) - lu(k,2996) * lu(k,3765)
         lu(k,3775) = lu(k,3775) - lu(k,2997) * lu(k,3765)
         lu(k,3776) = lu(k,3776) - lu(k,2998) * lu(k,3765)
         lu(k,3777) = lu(k,3777) - lu(k,2999) * lu(k,3765)
         lu(k,3778) = lu(k,3778) - lu(k,3000) * lu(k,3765)
         lu(k,3790) = lu(k,3790) - lu(k,2988) * lu(k,3789)
         lu(k,3791) = lu(k,3791) - lu(k,2989) * lu(k,3789)
         lu(k,3792) = lu(k,3792) - lu(k,2990) * lu(k,3789)
         lu(k,3793) = lu(k,3793) - lu(k,2991) * lu(k,3789)
         lu(k,3794) = lu(k,3794) - lu(k,2992) * lu(k,3789)
         lu(k,3795) = lu(k,3795) - lu(k,2993) * lu(k,3789)
         lu(k,3796) = lu(k,3796) - lu(k,2994) * lu(k,3789)
         lu(k,3797) = lu(k,3797) - lu(k,2995) * lu(k,3789)
         lu(k,3798) = lu(k,3798) - lu(k,2996) * lu(k,3789)
         lu(k,3799) = lu(k,3799) - lu(k,2997) * lu(k,3789)
         lu(k,3800) = lu(k,3800) - lu(k,2998) * lu(k,3789)
         lu(k,3801) = lu(k,3801) - lu(k,2999) * lu(k,3789)
         lu(k,3802) = lu(k,3802) - lu(k,3000) * lu(k,3789)
         lu(k,3825) = lu(k,3825) - lu(k,2988) * lu(k,3824)
         lu(k,3826) = lu(k,3826) - lu(k,2989) * lu(k,3824)
         lu(k,3827) = lu(k,3827) - lu(k,2990) * lu(k,3824)
         lu(k,3828) = lu(k,3828) - lu(k,2991) * lu(k,3824)
         lu(k,3829) = lu(k,3829) - lu(k,2992) * lu(k,3824)
         lu(k,3830) = lu(k,3830) - lu(k,2993) * lu(k,3824)
         lu(k,3831) = lu(k,3831) - lu(k,2994) * lu(k,3824)
         lu(k,3832) = lu(k,3832) - lu(k,2995) * lu(k,3824)
         lu(k,3833) = lu(k,3833) - lu(k,2996) * lu(k,3824)
         lu(k,3834) = lu(k,3834) - lu(k,2997) * lu(k,3824)
         lu(k,3835) = lu(k,3835) - lu(k,2998) * lu(k,3824)
         lu(k,3836) = lu(k,3836) - lu(k,2999) * lu(k,3824)
         lu(k,3837) = lu(k,3837) - lu(k,3000) * lu(k,3824)
         lu(k,3850) = lu(k,3850) - lu(k,2988) * lu(k,3849)
         lu(k,3851) = lu(k,3851) - lu(k,2989) * lu(k,3849)
         lu(k,3852) = lu(k,3852) - lu(k,2990) * lu(k,3849)
         lu(k,3853) = lu(k,3853) - lu(k,2991) * lu(k,3849)
         lu(k,3854) = lu(k,3854) - lu(k,2992) * lu(k,3849)
         lu(k,3855) = lu(k,3855) - lu(k,2993) * lu(k,3849)
         lu(k,3856) = lu(k,3856) - lu(k,2994) * lu(k,3849)
         lu(k,3857) = lu(k,3857) - lu(k,2995) * lu(k,3849)
         lu(k,3858) = lu(k,3858) - lu(k,2996) * lu(k,3849)
         lu(k,3859) = lu(k,3859) - lu(k,2997) * lu(k,3849)
         lu(k,3860) = lu(k,3860) - lu(k,2998) * lu(k,3849)
         lu(k,3861) = lu(k,3861) - lu(k,2999) * lu(k,3849)
         lu(k,3862) = lu(k,3862) - lu(k,3000) * lu(k,3849)
         lu(k,3080) = 1._r8 / lu(k,3080)
         lu(k,3081) = lu(k,3081) * lu(k,3080)
         lu(k,3082) = lu(k,3082) * lu(k,3080)
         lu(k,3083) = lu(k,3083) * lu(k,3080)
         lu(k,3084) = lu(k,3084) * lu(k,3080)
         lu(k,3085) = lu(k,3085) * lu(k,3080)
         lu(k,3086) = lu(k,3086) * lu(k,3080)
         lu(k,3087) = lu(k,3087) * lu(k,3080)
         lu(k,3088) = lu(k,3088) * lu(k,3080)
         lu(k,3089) = lu(k,3089) * lu(k,3080)
         lu(k,3090) = lu(k,3090) * lu(k,3080)
         lu(k,3091) = lu(k,3091) * lu(k,3080)
         lu(k,3092) = lu(k,3092) * lu(k,3080)
         lu(k,3105) = lu(k,3105) - lu(k,3081) * lu(k,3104)
         lu(k,3106) = lu(k,3106) - lu(k,3082) * lu(k,3104)
         lu(k,3107) = lu(k,3107) - lu(k,3083) * lu(k,3104)
         lu(k,3108) = lu(k,3108) - lu(k,3084) * lu(k,3104)
         lu(k,3109) = lu(k,3109) - lu(k,3085) * lu(k,3104)
         lu(k,3110) = lu(k,3110) - lu(k,3086) * lu(k,3104)
         lu(k,3111) = lu(k,3111) - lu(k,3087) * lu(k,3104)
         lu(k,3112) = lu(k,3112) - lu(k,3088) * lu(k,3104)
         lu(k,3113) = lu(k,3113) - lu(k,3089) * lu(k,3104)
         lu(k,3114) = lu(k,3114) - lu(k,3090) * lu(k,3104)
         lu(k,3115) = lu(k,3115) - lu(k,3091) * lu(k,3104)
         lu(k,3116) = lu(k,3116) - lu(k,3092) * lu(k,3104)
         lu(k,3284) = lu(k,3284) - lu(k,3081) * lu(k,3283)
         lu(k,3285) = lu(k,3285) - lu(k,3082) * lu(k,3283)
         lu(k,3286) = lu(k,3286) - lu(k,3083) * lu(k,3283)
         lu(k,3287) = lu(k,3287) - lu(k,3084) * lu(k,3283)
         lu(k,3288) = lu(k,3288) - lu(k,3085) * lu(k,3283)
         lu(k,3289) = lu(k,3289) - lu(k,3086) * lu(k,3283)
         lu(k,3290) = lu(k,3290) - lu(k,3087) * lu(k,3283)
         lu(k,3291) = lu(k,3291) - lu(k,3088) * lu(k,3283)
         lu(k,3292) = lu(k,3292) - lu(k,3089) * lu(k,3283)
         lu(k,3293) = lu(k,3293) - lu(k,3090) * lu(k,3283)
         lu(k,3294) = lu(k,3294) - lu(k,3091) * lu(k,3283)
         lu(k,3295) = lu(k,3295) - lu(k,3092) * lu(k,3283)
         lu(k,3310) = lu(k,3310) - lu(k,3081) * lu(k,3309)
         lu(k,3311) = lu(k,3311) - lu(k,3082) * lu(k,3309)
         lu(k,3312) = lu(k,3312) - lu(k,3083) * lu(k,3309)
         lu(k,3313) = lu(k,3313) - lu(k,3084) * lu(k,3309)
         lu(k,3314) = lu(k,3314) - lu(k,3085) * lu(k,3309)
         lu(k,3315) = lu(k,3315) - lu(k,3086) * lu(k,3309)
         lu(k,3316) = lu(k,3316) - lu(k,3087) * lu(k,3309)
         lu(k,3317) = lu(k,3317) - lu(k,3088) * lu(k,3309)
         lu(k,3318) = lu(k,3318) - lu(k,3089) * lu(k,3309)
         lu(k,3319) = lu(k,3319) - lu(k,3090) * lu(k,3309)
         lu(k,3320) = lu(k,3320) - lu(k,3091) * lu(k,3309)
         lu(k,3321) = lu(k,3321) - lu(k,3092) * lu(k,3309)
         lu(k,3334) = lu(k,3334) - lu(k,3081) * lu(k,3333)
         lu(k,3335) = lu(k,3335) - lu(k,3082) * lu(k,3333)
         lu(k,3336) = lu(k,3336) - lu(k,3083) * lu(k,3333)
         lu(k,3337) = lu(k,3337) - lu(k,3084) * lu(k,3333)
         lu(k,3338) = lu(k,3338) - lu(k,3085) * lu(k,3333)
         lu(k,3339) = lu(k,3339) - lu(k,3086) * lu(k,3333)
         lu(k,3340) = lu(k,3340) - lu(k,3087) * lu(k,3333)
         lu(k,3341) = lu(k,3341) - lu(k,3088) * lu(k,3333)
         lu(k,3342) = lu(k,3342) - lu(k,3089) * lu(k,3333)
         lu(k,3343) = lu(k,3343) - lu(k,3090) * lu(k,3333)
         lu(k,3344) = lu(k,3344) - lu(k,3091) * lu(k,3333)
         lu(k,3345) = lu(k,3345) - lu(k,3092) * lu(k,3333)
         lu(k,3425) = lu(k,3425) - lu(k,3081) * lu(k,3424)
         lu(k,3426) = lu(k,3426) - lu(k,3082) * lu(k,3424)
         lu(k,3427) = lu(k,3427) - lu(k,3083) * lu(k,3424)
         lu(k,3428) = lu(k,3428) - lu(k,3084) * lu(k,3424)
         lu(k,3429) = lu(k,3429) - lu(k,3085) * lu(k,3424)
         lu(k,3430) = lu(k,3430) - lu(k,3086) * lu(k,3424)
         lu(k,3431) = lu(k,3431) - lu(k,3087) * lu(k,3424)
         lu(k,3432) = lu(k,3432) - lu(k,3088) * lu(k,3424)
         lu(k,3433) = lu(k,3433) - lu(k,3089) * lu(k,3424)
         lu(k,3434) = lu(k,3434) - lu(k,3090) * lu(k,3424)
         lu(k,3435) = lu(k,3435) - lu(k,3091) * lu(k,3424)
         lu(k,3436) = lu(k,3436) - lu(k,3092) * lu(k,3424)
         lu(k,3455) = lu(k,3455) - lu(k,3081) * lu(k,3454)
         lu(k,3456) = lu(k,3456) - lu(k,3082) * lu(k,3454)
         lu(k,3457) = lu(k,3457) - lu(k,3083) * lu(k,3454)
         lu(k,3458) = lu(k,3458) - lu(k,3084) * lu(k,3454)
         lu(k,3459) = lu(k,3459) - lu(k,3085) * lu(k,3454)
         lu(k,3460) = lu(k,3460) - lu(k,3086) * lu(k,3454)
         lu(k,3461) = lu(k,3461) - lu(k,3087) * lu(k,3454)
         lu(k,3462) = lu(k,3462) - lu(k,3088) * lu(k,3454)
         lu(k,3463) = lu(k,3463) - lu(k,3089) * lu(k,3454)
         lu(k,3464) = lu(k,3464) - lu(k,3090) * lu(k,3454)
         lu(k,3465) = lu(k,3465) - lu(k,3091) * lu(k,3454)
         lu(k,3466) = lu(k,3466) - lu(k,3092) * lu(k,3454)
         lu(k,3505) = lu(k,3505) - lu(k,3081) * lu(k,3504)
         lu(k,3506) = lu(k,3506) - lu(k,3082) * lu(k,3504)
         lu(k,3507) = lu(k,3507) - lu(k,3083) * lu(k,3504)
         lu(k,3508) = lu(k,3508) - lu(k,3084) * lu(k,3504)
         lu(k,3509) = lu(k,3509) - lu(k,3085) * lu(k,3504)
         lu(k,3510) = lu(k,3510) - lu(k,3086) * lu(k,3504)
         lu(k,3511) = lu(k,3511) - lu(k,3087) * lu(k,3504)
         lu(k,3512) = lu(k,3512) - lu(k,3088) * lu(k,3504)
         lu(k,3513) = lu(k,3513) - lu(k,3089) * lu(k,3504)
         lu(k,3514) = lu(k,3514) - lu(k,3090) * lu(k,3504)
         lu(k,3515) = lu(k,3515) - lu(k,3091) * lu(k,3504)
         lu(k,3516) = lu(k,3516) - lu(k,3092) * lu(k,3504)
         lu(k,3745) = lu(k,3745) - lu(k,3081) * lu(k,3744)
         lu(k,3746) = lu(k,3746) - lu(k,3082) * lu(k,3744)
         lu(k,3747) = lu(k,3747) - lu(k,3083) * lu(k,3744)
         lu(k,3748) = lu(k,3748) - lu(k,3084) * lu(k,3744)
         lu(k,3749) = lu(k,3749) - lu(k,3085) * lu(k,3744)
         lu(k,3750) = lu(k,3750) - lu(k,3086) * lu(k,3744)
         lu(k,3751) = lu(k,3751) - lu(k,3087) * lu(k,3744)
         lu(k,3752) = lu(k,3752) - lu(k,3088) * lu(k,3744)
         lu(k,3753) = lu(k,3753) - lu(k,3089) * lu(k,3744)
         lu(k,3754) = lu(k,3754) - lu(k,3090) * lu(k,3744)
         lu(k,3755) = lu(k,3755) - lu(k,3091) * lu(k,3744)
         lu(k,3756) = lu(k,3756) - lu(k,3092) * lu(k,3744)
         lu(k,3767) = lu(k,3767) - lu(k,3081) * lu(k,3766)
         lu(k,3768) = lu(k,3768) - lu(k,3082) * lu(k,3766)
         lu(k,3769) = lu(k,3769) - lu(k,3083) * lu(k,3766)
         lu(k,3770) = lu(k,3770) - lu(k,3084) * lu(k,3766)
         lu(k,3771) = lu(k,3771) - lu(k,3085) * lu(k,3766)
         lu(k,3772) = lu(k,3772) - lu(k,3086) * lu(k,3766)
         lu(k,3773) = lu(k,3773) - lu(k,3087) * lu(k,3766)
         lu(k,3774) = lu(k,3774) - lu(k,3088) * lu(k,3766)
         lu(k,3775) = lu(k,3775) - lu(k,3089) * lu(k,3766)
         lu(k,3776) = lu(k,3776) - lu(k,3090) * lu(k,3766)
         lu(k,3777) = lu(k,3777) - lu(k,3091) * lu(k,3766)
         lu(k,3778) = lu(k,3778) - lu(k,3092) * lu(k,3766)
         lu(k,3791) = lu(k,3791) - lu(k,3081) * lu(k,3790)
         lu(k,3792) = lu(k,3792) - lu(k,3082) * lu(k,3790)
         lu(k,3793) = lu(k,3793) - lu(k,3083) * lu(k,3790)
         lu(k,3794) = lu(k,3794) - lu(k,3084) * lu(k,3790)
         lu(k,3795) = lu(k,3795) - lu(k,3085) * lu(k,3790)
         lu(k,3796) = lu(k,3796) - lu(k,3086) * lu(k,3790)
         lu(k,3797) = lu(k,3797) - lu(k,3087) * lu(k,3790)
         lu(k,3798) = lu(k,3798) - lu(k,3088) * lu(k,3790)
         lu(k,3799) = lu(k,3799) - lu(k,3089) * lu(k,3790)
         lu(k,3800) = lu(k,3800) - lu(k,3090) * lu(k,3790)
         lu(k,3801) = lu(k,3801) - lu(k,3091) * lu(k,3790)
         lu(k,3802) = lu(k,3802) - lu(k,3092) * lu(k,3790)
         lu(k,3826) = lu(k,3826) - lu(k,3081) * lu(k,3825)
         lu(k,3827) = lu(k,3827) - lu(k,3082) * lu(k,3825)
         lu(k,3828) = lu(k,3828) - lu(k,3083) * lu(k,3825)
         lu(k,3829) = lu(k,3829) - lu(k,3084) * lu(k,3825)
         lu(k,3830) = lu(k,3830) - lu(k,3085) * lu(k,3825)
         lu(k,3831) = lu(k,3831) - lu(k,3086) * lu(k,3825)
         lu(k,3832) = lu(k,3832) - lu(k,3087) * lu(k,3825)
         lu(k,3833) = lu(k,3833) - lu(k,3088) * lu(k,3825)
         lu(k,3834) = lu(k,3834) - lu(k,3089) * lu(k,3825)
         lu(k,3835) = lu(k,3835) - lu(k,3090) * lu(k,3825)
         lu(k,3836) = lu(k,3836) - lu(k,3091) * lu(k,3825)
         lu(k,3837) = lu(k,3837) - lu(k,3092) * lu(k,3825)
         lu(k,3851) = lu(k,3851) - lu(k,3081) * lu(k,3850)
         lu(k,3852) = lu(k,3852) - lu(k,3082) * lu(k,3850)
         lu(k,3853) = lu(k,3853) - lu(k,3083) * lu(k,3850)
         lu(k,3854) = lu(k,3854) - lu(k,3084) * lu(k,3850)
         lu(k,3855) = lu(k,3855) - lu(k,3085) * lu(k,3850)
         lu(k,3856) = lu(k,3856) - lu(k,3086) * lu(k,3850)
         lu(k,3857) = lu(k,3857) - lu(k,3087) * lu(k,3850)
         lu(k,3858) = lu(k,3858) - lu(k,3088) * lu(k,3850)
         lu(k,3859) = lu(k,3859) - lu(k,3089) * lu(k,3850)
         lu(k,3860) = lu(k,3860) - lu(k,3090) * lu(k,3850)
         lu(k,3861) = lu(k,3861) - lu(k,3091) * lu(k,3850)
         lu(k,3862) = lu(k,3862) - lu(k,3092) * lu(k,3850)
         lu(k,3105) = 1._r8 / lu(k,3105)
         lu(k,3106) = lu(k,3106) * lu(k,3105)
         lu(k,3107) = lu(k,3107) * lu(k,3105)
         lu(k,3108) = lu(k,3108) * lu(k,3105)
         lu(k,3109) = lu(k,3109) * lu(k,3105)
         lu(k,3110) = lu(k,3110) * lu(k,3105)
         lu(k,3111) = lu(k,3111) * lu(k,3105)
         lu(k,3112) = lu(k,3112) * lu(k,3105)
         lu(k,3113) = lu(k,3113) * lu(k,3105)
         lu(k,3114) = lu(k,3114) * lu(k,3105)
         lu(k,3115) = lu(k,3115) * lu(k,3105)
         lu(k,3116) = lu(k,3116) * lu(k,3105)
         lu(k,3285) = lu(k,3285) - lu(k,3106) * lu(k,3284)
         lu(k,3286) = lu(k,3286) - lu(k,3107) * lu(k,3284)
         lu(k,3287) = lu(k,3287) - lu(k,3108) * lu(k,3284)
         lu(k,3288) = lu(k,3288) - lu(k,3109) * lu(k,3284)
         lu(k,3289) = lu(k,3289) - lu(k,3110) * lu(k,3284)
         lu(k,3290) = lu(k,3290) - lu(k,3111) * lu(k,3284)
         lu(k,3291) = lu(k,3291) - lu(k,3112) * lu(k,3284)
         lu(k,3292) = lu(k,3292) - lu(k,3113) * lu(k,3284)
         lu(k,3293) = lu(k,3293) - lu(k,3114) * lu(k,3284)
         lu(k,3294) = lu(k,3294) - lu(k,3115) * lu(k,3284)
         lu(k,3295) = lu(k,3295) - lu(k,3116) * lu(k,3284)
         lu(k,3311) = lu(k,3311) - lu(k,3106) * lu(k,3310)
         lu(k,3312) = lu(k,3312) - lu(k,3107) * lu(k,3310)
         lu(k,3313) = lu(k,3313) - lu(k,3108) * lu(k,3310)
         lu(k,3314) = lu(k,3314) - lu(k,3109) * lu(k,3310)
         lu(k,3315) = lu(k,3315) - lu(k,3110) * lu(k,3310)
         lu(k,3316) = lu(k,3316) - lu(k,3111) * lu(k,3310)
         lu(k,3317) = lu(k,3317) - lu(k,3112) * lu(k,3310)
         lu(k,3318) = lu(k,3318) - lu(k,3113) * lu(k,3310)
         lu(k,3319) = lu(k,3319) - lu(k,3114) * lu(k,3310)
         lu(k,3320) = lu(k,3320) - lu(k,3115) * lu(k,3310)
         lu(k,3321) = lu(k,3321) - lu(k,3116) * lu(k,3310)
         lu(k,3335) = lu(k,3335) - lu(k,3106) * lu(k,3334)
         lu(k,3336) = lu(k,3336) - lu(k,3107) * lu(k,3334)
         lu(k,3337) = lu(k,3337) - lu(k,3108) * lu(k,3334)
         lu(k,3338) = lu(k,3338) - lu(k,3109) * lu(k,3334)
         lu(k,3339) = lu(k,3339) - lu(k,3110) * lu(k,3334)
         lu(k,3340) = lu(k,3340) - lu(k,3111) * lu(k,3334)
         lu(k,3341) = lu(k,3341) - lu(k,3112) * lu(k,3334)
         lu(k,3342) = lu(k,3342) - lu(k,3113) * lu(k,3334)
         lu(k,3343) = lu(k,3343) - lu(k,3114) * lu(k,3334)
         lu(k,3344) = lu(k,3344) - lu(k,3115) * lu(k,3334)
         lu(k,3345) = lu(k,3345) - lu(k,3116) * lu(k,3334)
         lu(k,3426) = lu(k,3426) - lu(k,3106) * lu(k,3425)
         lu(k,3427) = lu(k,3427) - lu(k,3107) * lu(k,3425)
         lu(k,3428) = lu(k,3428) - lu(k,3108) * lu(k,3425)
         lu(k,3429) = lu(k,3429) - lu(k,3109) * lu(k,3425)
         lu(k,3430) = lu(k,3430) - lu(k,3110) * lu(k,3425)
         lu(k,3431) = lu(k,3431) - lu(k,3111) * lu(k,3425)
         lu(k,3432) = lu(k,3432) - lu(k,3112) * lu(k,3425)
         lu(k,3433) = lu(k,3433) - lu(k,3113) * lu(k,3425)
         lu(k,3434) = lu(k,3434) - lu(k,3114) * lu(k,3425)
         lu(k,3435) = lu(k,3435) - lu(k,3115) * lu(k,3425)
         lu(k,3436) = lu(k,3436) - lu(k,3116) * lu(k,3425)
         lu(k,3456) = lu(k,3456) - lu(k,3106) * lu(k,3455)
         lu(k,3457) = lu(k,3457) - lu(k,3107) * lu(k,3455)
         lu(k,3458) = lu(k,3458) - lu(k,3108) * lu(k,3455)
         lu(k,3459) = lu(k,3459) - lu(k,3109) * lu(k,3455)
         lu(k,3460) = lu(k,3460) - lu(k,3110) * lu(k,3455)
         lu(k,3461) = lu(k,3461) - lu(k,3111) * lu(k,3455)
         lu(k,3462) = lu(k,3462) - lu(k,3112) * lu(k,3455)
         lu(k,3463) = lu(k,3463) - lu(k,3113) * lu(k,3455)
         lu(k,3464) = lu(k,3464) - lu(k,3114) * lu(k,3455)
         lu(k,3465) = lu(k,3465) - lu(k,3115) * lu(k,3455)
         lu(k,3466) = lu(k,3466) - lu(k,3116) * lu(k,3455)
         lu(k,3506) = lu(k,3506) - lu(k,3106) * lu(k,3505)
         lu(k,3507) = lu(k,3507) - lu(k,3107) * lu(k,3505)
         lu(k,3508) = lu(k,3508) - lu(k,3108) * lu(k,3505)
         lu(k,3509) = lu(k,3509) - lu(k,3109) * lu(k,3505)
         lu(k,3510) = lu(k,3510) - lu(k,3110) * lu(k,3505)
         lu(k,3511) = lu(k,3511) - lu(k,3111) * lu(k,3505)
         lu(k,3512) = lu(k,3512) - lu(k,3112) * lu(k,3505)
         lu(k,3513) = lu(k,3513) - lu(k,3113) * lu(k,3505)
         lu(k,3514) = lu(k,3514) - lu(k,3114) * lu(k,3505)
         lu(k,3515) = lu(k,3515) - lu(k,3115) * lu(k,3505)
         lu(k,3516) = lu(k,3516) - lu(k,3116) * lu(k,3505)
         lu(k,3746) = lu(k,3746) - lu(k,3106) * lu(k,3745)
         lu(k,3747) = lu(k,3747) - lu(k,3107) * lu(k,3745)
         lu(k,3748) = lu(k,3748) - lu(k,3108) * lu(k,3745)
         lu(k,3749) = lu(k,3749) - lu(k,3109) * lu(k,3745)
         lu(k,3750) = lu(k,3750) - lu(k,3110) * lu(k,3745)
         lu(k,3751) = lu(k,3751) - lu(k,3111) * lu(k,3745)
         lu(k,3752) = lu(k,3752) - lu(k,3112) * lu(k,3745)
         lu(k,3753) = lu(k,3753) - lu(k,3113) * lu(k,3745)
         lu(k,3754) = lu(k,3754) - lu(k,3114) * lu(k,3745)
         lu(k,3755) = lu(k,3755) - lu(k,3115) * lu(k,3745)
         lu(k,3756) = lu(k,3756) - lu(k,3116) * lu(k,3745)
         lu(k,3768) = lu(k,3768) - lu(k,3106) * lu(k,3767)
         lu(k,3769) = lu(k,3769) - lu(k,3107) * lu(k,3767)
         lu(k,3770) = lu(k,3770) - lu(k,3108) * lu(k,3767)
         lu(k,3771) = lu(k,3771) - lu(k,3109) * lu(k,3767)
         lu(k,3772) = lu(k,3772) - lu(k,3110) * lu(k,3767)
         lu(k,3773) = lu(k,3773) - lu(k,3111) * lu(k,3767)
         lu(k,3774) = lu(k,3774) - lu(k,3112) * lu(k,3767)
         lu(k,3775) = lu(k,3775) - lu(k,3113) * lu(k,3767)
         lu(k,3776) = lu(k,3776) - lu(k,3114) * lu(k,3767)
         lu(k,3777) = lu(k,3777) - lu(k,3115) * lu(k,3767)
         lu(k,3778) = lu(k,3778) - lu(k,3116) * lu(k,3767)
         lu(k,3792) = lu(k,3792) - lu(k,3106) * lu(k,3791)
         lu(k,3793) = lu(k,3793) - lu(k,3107) * lu(k,3791)
         lu(k,3794) = lu(k,3794) - lu(k,3108) * lu(k,3791)
         lu(k,3795) = lu(k,3795) - lu(k,3109) * lu(k,3791)
         lu(k,3796) = lu(k,3796) - lu(k,3110) * lu(k,3791)
         lu(k,3797) = lu(k,3797) - lu(k,3111) * lu(k,3791)
         lu(k,3798) = lu(k,3798) - lu(k,3112) * lu(k,3791)
         lu(k,3799) = lu(k,3799) - lu(k,3113) * lu(k,3791)
         lu(k,3800) = lu(k,3800) - lu(k,3114) * lu(k,3791)
         lu(k,3801) = lu(k,3801) - lu(k,3115) * lu(k,3791)
         lu(k,3802) = lu(k,3802) - lu(k,3116) * lu(k,3791)
         lu(k,3827) = lu(k,3827) - lu(k,3106) * lu(k,3826)
         lu(k,3828) = lu(k,3828) - lu(k,3107) * lu(k,3826)
         lu(k,3829) = lu(k,3829) - lu(k,3108) * lu(k,3826)
         lu(k,3830) = lu(k,3830) - lu(k,3109) * lu(k,3826)
         lu(k,3831) = lu(k,3831) - lu(k,3110) * lu(k,3826)
         lu(k,3832) = lu(k,3832) - lu(k,3111) * lu(k,3826)
         lu(k,3833) = lu(k,3833) - lu(k,3112) * lu(k,3826)
         lu(k,3834) = lu(k,3834) - lu(k,3113) * lu(k,3826)
         lu(k,3835) = lu(k,3835) - lu(k,3114) * lu(k,3826)
         lu(k,3836) = lu(k,3836) - lu(k,3115) * lu(k,3826)
         lu(k,3837) = lu(k,3837) - lu(k,3116) * lu(k,3826)
         lu(k,3852) = lu(k,3852) - lu(k,3106) * lu(k,3851)
         lu(k,3853) = lu(k,3853) - lu(k,3107) * lu(k,3851)
         lu(k,3854) = lu(k,3854) - lu(k,3108) * lu(k,3851)
         lu(k,3855) = lu(k,3855) - lu(k,3109) * lu(k,3851)
         lu(k,3856) = lu(k,3856) - lu(k,3110) * lu(k,3851)
         lu(k,3857) = lu(k,3857) - lu(k,3111) * lu(k,3851)
         lu(k,3858) = lu(k,3858) - lu(k,3112) * lu(k,3851)
         lu(k,3859) = lu(k,3859) - lu(k,3113) * lu(k,3851)
         lu(k,3860) = lu(k,3860) - lu(k,3114) * lu(k,3851)
         lu(k,3861) = lu(k,3861) - lu(k,3115) * lu(k,3851)
         lu(k,3862) = lu(k,3862) - lu(k,3116) * lu(k,3851)
      end do
      end subroutine lu_fac49
      subroutine lu_fac50( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,3285) = 1._r8 / lu(k,3285)
         lu(k,3286) = lu(k,3286) * lu(k,3285)
         lu(k,3287) = lu(k,3287) * lu(k,3285)
         lu(k,3288) = lu(k,3288) * lu(k,3285)
         lu(k,3289) = lu(k,3289) * lu(k,3285)
         lu(k,3290) = lu(k,3290) * lu(k,3285)
         lu(k,3291) = lu(k,3291) * lu(k,3285)
         lu(k,3292) = lu(k,3292) * lu(k,3285)
         lu(k,3293) = lu(k,3293) * lu(k,3285)
         lu(k,3294) = lu(k,3294) * lu(k,3285)
         lu(k,3295) = lu(k,3295) * lu(k,3285)
         lu(k,3312) = lu(k,3312) - lu(k,3286) * lu(k,3311)
         lu(k,3313) = lu(k,3313) - lu(k,3287) * lu(k,3311)
         lu(k,3314) = lu(k,3314) - lu(k,3288) * lu(k,3311)
         lu(k,3315) = lu(k,3315) - lu(k,3289) * lu(k,3311)
         lu(k,3316) = lu(k,3316) - lu(k,3290) * lu(k,3311)
         lu(k,3317) = lu(k,3317) - lu(k,3291) * lu(k,3311)
         lu(k,3318) = lu(k,3318) - lu(k,3292) * lu(k,3311)
         lu(k,3319) = lu(k,3319) - lu(k,3293) * lu(k,3311)
         lu(k,3320) = lu(k,3320) - lu(k,3294) * lu(k,3311)
         lu(k,3321) = lu(k,3321) - lu(k,3295) * lu(k,3311)
         lu(k,3336) = lu(k,3336) - lu(k,3286) * lu(k,3335)
         lu(k,3337) = lu(k,3337) - lu(k,3287) * lu(k,3335)
         lu(k,3338) = lu(k,3338) - lu(k,3288) * lu(k,3335)
         lu(k,3339) = lu(k,3339) - lu(k,3289) * lu(k,3335)
         lu(k,3340) = lu(k,3340) - lu(k,3290) * lu(k,3335)
         lu(k,3341) = lu(k,3341) - lu(k,3291) * lu(k,3335)
         lu(k,3342) = lu(k,3342) - lu(k,3292) * lu(k,3335)
         lu(k,3343) = lu(k,3343) - lu(k,3293) * lu(k,3335)
         lu(k,3344) = lu(k,3344) - lu(k,3294) * lu(k,3335)
         lu(k,3345) = lu(k,3345) - lu(k,3295) * lu(k,3335)
         lu(k,3427) = lu(k,3427) - lu(k,3286) * lu(k,3426)
         lu(k,3428) = lu(k,3428) - lu(k,3287) * lu(k,3426)
         lu(k,3429) = lu(k,3429) - lu(k,3288) * lu(k,3426)
         lu(k,3430) = lu(k,3430) - lu(k,3289) * lu(k,3426)
         lu(k,3431) = lu(k,3431) - lu(k,3290) * lu(k,3426)
         lu(k,3432) = lu(k,3432) - lu(k,3291) * lu(k,3426)
         lu(k,3433) = lu(k,3433) - lu(k,3292) * lu(k,3426)
         lu(k,3434) = lu(k,3434) - lu(k,3293) * lu(k,3426)
         lu(k,3435) = lu(k,3435) - lu(k,3294) * lu(k,3426)
         lu(k,3436) = lu(k,3436) - lu(k,3295) * lu(k,3426)
         lu(k,3457) = lu(k,3457) - lu(k,3286) * lu(k,3456)
         lu(k,3458) = lu(k,3458) - lu(k,3287) * lu(k,3456)
         lu(k,3459) = lu(k,3459) - lu(k,3288) * lu(k,3456)
         lu(k,3460) = lu(k,3460) - lu(k,3289) * lu(k,3456)
         lu(k,3461) = lu(k,3461) - lu(k,3290) * lu(k,3456)
         lu(k,3462) = lu(k,3462) - lu(k,3291) * lu(k,3456)
         lu(k,3463) = lu(k,3463) - lu(k,3292) * lu(k,3456)
         lu(k,3464) = lu(k,3464) - lu(k,3293) * lu(k,3456)
         lu(k,3465) = lu(k,3465) - lu(k,3294) * lu(k,3456)
         lu(k,3466) = lu(k,3466) - lu(k,3295) * lu(k,3456)
         lu(k,3507) = lu(k,3507) - lu(k,3286) * lu(k,3506)
         lu(k,3508) = lu(k,3508) - lu(k,3287) * lu(k,3506)
         lu(k,3509) = lu(k,3509) - lu(k,3288) * lu(k,3506)
         lu(k,3510) = lu(k,3510) - lu(k,3289) * lu(k,3506)
         lu(k,3511) = lu(k,3511) - lu(k,3290) * lu(k,3506)
         lu(k,3512) = lu(k,3512) - lu(k,3291) * lu(k,3506)
         lu(k,3513) = lu(k,3513) - lu(k,3292) * lu(k,3506)
         lu(k,3514) = lu(k,3514) - lu(k,3293) * lu(k,3506)
         lu(k,3515) = lu(k,3515) - lu(k,3294) * lu(k,3506)
         lu(k,3516) = lu(k,3516) - lu(k,3295) * lu(k,3506)
         lu(k,3747) = lu(k,3747) - lu(k,3286) * lu(k,3746)
         lu(k,3748) = lu(k,3748) - lu(k,3287) * lu(k,3746)
         lu(k,3749) = lu(k,3749) - lu(k,3288) * lu(k,3746)
         lu(k,3750) = lu(k,3750) - lu(k,3289) * lu(k,3746)
         lu(k,3751) = lu(k,3751) - lu(k,3290) * lu(k,3746)
         lu(k,3752) = lu(k,3752) - lu(k,3291) * lu(k,3746)
         lu(k,3753) = lu(k,3753) - lu(k,3292) * lu(k,3746)
         lu(k,3754) = lu(k,3754) - lu(k,3293) * lu(k,3746)
         lu(k,3755) = lu(k,3755) - lu(k,3294) * lu(k,3746)
         lu(k,3756) = lu(k,3756) - lu(k,3295) * lu(k,3746)
         lu(k,3769) = lu(k,3769) - lu(k,3286) * lu(k,3768)
         lu(k,3770) = lu(k,3770) - lu(k,3287) * lu(k,3768)
         lu(k,3771) = lu(k,3771) - lu(k,3288) * lu(k,3768)
         lu(k,3772) = lu(k,3772) - lu(k,3289) * lu(k,3768)
         lu(k,3773) = lu(k,3773) - lu(k,3290) * lu(k,3768)
         lu(k,3774) = lu(k,3774) - lu(k,3291) * lu(k,3768)
         lu(k,3775) = lu(k,3775) - lu(k,3292) * lu(k,3768)
         lu(k,3776) = lu(k,3776) - lu(k,3293) * lu(k,3768)
         lu(k,3777) = lu(k,3777) - lu(k,3294) * lu(k,3768)
         lu(k,3778) = lu(k,3778) - lu(k,3295) * lu(k,3768)
         lu(k,3793) = lu(k,3793) - lu(k,3286) * lu(k,3792)
         lu(k,3794) = lu(k,3794) - lu(k,3287) * lu(k,3792)
         lu(k,3795) = lu(k,3795) - lu(k,3288) * lu(k,3792)
         lu(k,3796) = lu(k,3796) - lu(k,3289) * lu(k,3792)
         lu(k,3797) = lu(k,3797) - lu(k,3290) * lu(k,3792)
         lu(k,3798) = lu(k,3798) - lu(k,3291) * lu(k,3792)
         lu(k,3799) = lu(k,3799) - lu(k,3292) * lu(k,3792)
         lu(k,3800) = lu(k,3800) - lu(k,3293) * lu(k,3792)
         lu(k,3801) = lu(k,3801) - lu(k,3294) * lu(k,3792)
         lu(k,3802) = lu(k,3802) - lu(k,3295) * lu(k,3792)
         lu(k,3828) = lu(k,3828) - lu(k,3286) * lu(k,3827)
         lu(k,3829) = lu(k,3829) - lu(k,3287) * lu(k,3827)
         lu(k,3830) = lu(k,3830) - lu(k,3288) * lu(k,3827)
         lu(k,3831) = lu(k,3831) - lu(k,3289) * lu(k,3827)
         lu(k,3832) = lu(k,3832) - lu(k,3290) * lu(k,3827)
         lu(k,3833) = lu(k,3833) - lu(k,3291) * lu(k,3827)
         lu(k,3834) = lu(k,3834) - lu(k,3292) * lu(k,3827)
         lu(k,3835) = lu(k,3835) - lu(k,3293) * lu(k,3827)
         lu(k,3836) = lu(k,3836) - lu(k,3294) * lu(k,3827)
         lu(k,3837) = lu(k,3837) - lu(k,3295) * lu(k,3827)
         lu(k,3853) = lu(k,3853) - lu(k,3286) * lu(k,3852)
         lu(k,3854) = lu(k,3854) - lu(k,3287) * lu(k,3852)
         lu(k,3855) = lu(k,3855) - lu(k,3288) * lu(k,3852)
         lu(k,3856) = lu(k,3856) - lu(k,3289) * lu(k,3852)
         lu(k,3857) = lu(k,3857) - lu(k,3290) * lu(k,3852)
         lu(k,3858) = lu(k,3858) - lu(k,3291) * lu(k,3852)
         lu(k,3859) = lu(k,3859) - lu(k,3292) * lu(k,3852)
         lu(k,3860) = lu(k,3860) - lu(k,3293) * lu(k,3852)
         lu(k,3861) = lu(k,3861) - lu(k,3294) * lu(k,3852)
         lu(k,3862) = lu(k,3862) - lu(k,3295) * lu(k,3852)
         lu(k,3312) = 1._r8 / lu(k,3312)
         lu(k,3313) = lu(k,3313) * lu(k,3312)
         lu(k,3314) = lu(k,3314) * lu(k,3312)
         lu(k,3315) = lu(k,3315) * lu(k,3312)
         lu(k,3316) = lu(k,3316) * lu(k,3312)
         lu(k,3317) = lu(k,3317) * lu(k,3312)
         lu(k,3318) = lu(k,3318) * lu(k,3312)
         lu(k,3319) = lu(k,3319) * lu(k,3312)
         lu(k,3320) = lu(k,3320) * lu(k,3312)
         lu(k,3321) = lu(k,3321) * lu(k,3312)
         lu(k,3337) = lu(k,3337) - lu(k,3313) * lu(k,3336)
         lu(k,3338) = lu(k,3338) - lu(k,3314) * lu(k,3336)
         lu(k,3339) = lu(k,3339) - lu(k,3315) * lu(k,3336)
         lu(k,3340) = lu(k,3340) - lu(k,3316) * lu(k,3336)
         lu(k,3341) = lu(k,3341) - lu(k,3317) * lu(k,3336)
         lu(k,3342) = lu(k,3342) - lu(k,3318) * lu(k,3336)
         lu(k,3343) = lu(k,3343) - lu(k,3319) * lu(k,3336)
         lu(k,3344) = lu(k,3344) - lu(k,3320) * lu(k,3336)
         lu(k,3345) = lu(k,3345) - lu(k,3321) * lu(k,3336)
         lu(k,3428) = lu(k,3428) - lu(k,3313) * lu(k,3427)
         lu(k,3429) = lu(k,3429) - lu(k,3314) * lu(k,3427)
         lu(k,3430) = lu(k,3430) - lu(k,3315) * lu(k,3427)
         lu(k,3431) = lu(k,3431) - lu(k,3316) * lu(k,3427)
         lu(k,3432) = lu(k,3432) - lu(k,3317) * lu(k,3427)
         lu(k,3433) = lu(k,3433) - lu(k,3318) * lu(k,3427)
         lu(k,3434) = lu(k,3434) - lu(k,3319) * lu(k,3427)
         lu(k,3435) = lu(k,3435) - lu(k,3320) * lu(k,3427)
         lu(k,3436) = lu(k,3436) - lu(k,3321) * lu(k,3427)
         lu(k,3458) = lu(k,3458) - lu(k,3313) * lu(k,3457)
         lu(k,3459) = lu(k,3459) - lu(k,3314) * lu(k,3457)
         lu(k,3460) = lu(k,3460) - lu(k,3315) * lu(k,3457)
         lu(k,3461) = lu(k,3461) - lu(k,3316) * lu(k,3457)
         lu(k,3462) = lu(k,3462) - lu(k,3317) * lu(k,3457)
         lu(k,3463) = lu(k,3463) - lu(k,3318) * lu(k,3457)
         lu(k,3464) = lu(k,3464) - lu(k,3319) * lu(k,3457)
         lu(k,3465) = lu(k,3465) - lu(k,3320) * lu(k,3457)
         lu(k,3466) = lu(k,3466) - lu(k,3321) * lu(k,3457)
         lu(k,3508) = lu(k,3508) - lu(k,3313) * lu(k,3507)
         lu(k,3509) = lu(k,3509) - lu(k,3314) * lu(k,3507)
         lu(k,3510) = lu(k,3510) - lu(k,3315) * lu(k,3507)
         lu(k,3511) = lu(k,3511) - lu(k,3316) * lu(k,3507)
         lu(k,3512) = lu(k,3512) - lu(k,3317) * lu(k,3507)
         lu(k,3513) = lu(k,3513) - lu(k,3318) * lu(k,3507)
         lu(k,3514) = lu(k,3514) - lu(k,3319) * lu(k,3507)
         lu(k,3515) = lu(k,3515) - lu(k,3320) * lu(k,3507)
         lu(k,3516) = lu(k,3516) - lu(k,3321) * lu(k,3507)
         lu(k,3748) = lu(k,3748) - lu(k,3313) * lu(k,3747)
         lu(k,3749) = lu(k,3749) - lu(k,3314) * lu(k,3747)
         lu(k,3750) = lu(k,3750) - lu(k,3315) * lu(k,3747)
         lu(k,3751) = lu(k,3751) - lu(k,3316) * lu(k,3747)
         lu(k,3752) = lu(k,3752) - lu(k,3317) * lu(k,3747)
         lu(k,3753) = lu(k,3753) - lu(k,3318) * lu(k,3747)
         lu(k,3754) = lu(k,3754) - lu(k,3319) * lu(k,3747)
         lu(k,3755) = lu(k,3755) - lu(k,3320) * lu(k,3747)
         lu(k,3756) = lu(k,3756) - lu(k,3321) * lu(k,3747)
         lu(k,3770) = lu(k,3770) - lu(k,3313) * lu(k,3769)
         lu(k,3771) = lu(k,3771) - lu(k,3314) * lu(k,3769)
         lu(k,3772) = lu(k,3772) - lu(k,3315) * lu(k,3769)
         lu(k,3773) = lu(k,3773) - lu(k,3316) * lu(k,3769)
         lu(k,3774) = lu(k,3774) - lu(k,3317) * lu(k,3769)
         lu(k,3775) = lu(k,3775) - lu(k,3318) * lu(k,3769)
         lu(k,3776) = lu(k,3776) - lu(k,3319) * lu(k,3769)
         lu(k,3777) = lu(k,3777) - lu(k,3320) * lu(k,3769)
         lu(k,3778) = lu(k,3778) - lu(k,3321) * lu(k,3769)
         lu(k,3794) = lu(k,3794) - lu(k,3313) * lu(k,3793)
         lu(k,3795) = lu(k,3795) - lu(k,3314) * lu(k,3793)
         lu(k,3796) = lu(k,3796) - lu(k,3315) * lu(k,3793)
         lu(k,3797) = lu(k,3797) - lu(k,3316) * lu(k,3793)
         lu(k,3798) = lu(k,3798) - lu(k,3317) * lu(k,3793)
         lu(k,3799) = lu(k,3799) - lu(k,3318) * lu(k,3793)
         lu(k,3800) = lu(k,3800) - lu(k,3319) * lu(k,3793)
         lu(k,3801) = lu(k,3801) - lu(k,3320) * lu(k,3793)
         lu(k,3802) = lu(k,3802) - lu(k,3321) * lu(k,3793)
         lu(k,3829) = lu(k,3829) - lu(k,3313) * lu(k,3828)
         lu(k,3830) = lu(k,3830) - lu(k,3314) * lu(k,3828)
         lu(k,3831) = lu(k,3831) - lu(k,3315) * lu(k,3828)
         lu(k,3832) = lu(k,3832) - lu(k,3316) * lu(k,3828)
         lu(k,3833) = lu(k,3833) - lu(k,3317) * lu(k,3828)
         lu(k,3834) = lu(k,3834) - lu(k,3318) * lu(k,3828)
         lu(k,3835) = lu(k,3835) - lu(k,3319) * lu(k,3828)
         lu(k,3836) = lu(k,3836) - lu(k,3320) * lu(k,3828)
         lu(k,3837) = lu(k,3837) - lu(k,3321) * lu(k,3828)
         lu(k,3854) = lu(k,3854) - lu(k,3313) * lu(k,3853)
         lu(k,3855) = lu(k,3855) - lu(k,3314) * lu(k,3853)
         lu(k,3856) = lu(k,3856) - lu(k,3315) * lu(k,3853)
         lu(k,3857) = lu(k,3857) - lu(k,3316) * lu(k,3853)
         lu(k,3858) = lu(k,3858) - lu(k,3317) * lu(k,3853)
         lu(k,3859) = lu(k,3859) - lu(k,3318) * lu(k,3853)
         lu(k,3860) = lu(k,3860) - lu(k,3319) * lu(k,3853)
         lu(k,3861) = lu(k,3861) - lu(k,3320) * lu(k,3853)
         lu(k,3862) = lu(k,3862) - lu(k,3321) * lu(k,3853)
         lu(k,3337) = 1._r8 / lu(k,3337)
         lu(k,3338) = lu(k,3338) * lu(k,3337)
         lu(k,3339) = lu(k,3339) * lu(k,3337)
         lu(k,3340) = lu(k,3340) * lu(k,3337)
         lu(k,3341) = lu(k,3341) * lu(k,3337)
         lu(k,3342) = lu(k,3342) * lu(k,3337)
         lu(k,3343) = lu(k,3343) * lu(k,3337)
         lu(k,3344) = lu(k,3344) * lu(k,3337)
         lu(k,3345) = lu(k,3345) * lu(k,3337)
         lu(k,3429) = lu(k,3429) - lu(k,3338) * lu(k,3428)
         lu(k,3430) = lu(k,3430) - lu(k,3339) * lu(k,3428)
         lu(k,3431) = lu(k,3431) - lu(k,3340) * lu(k,3428)
         lu(k,3432) = lu(k,3432) - lu(k,3341) * lu(k,3428)
         lu(k,3433) = lu(k,3433) - lu(k,3342) * lu(k,3428)
         lu(k,3434) = lu(k,3434) - lu(k,3343) * lu(k,3428)
         lu(k,3435) = lu(k,3435) - lu(k,3344) * lu(k,3428)
         lu(k,3436) = lu(k,3436) - lu(k,3345) * lu(k,3428)
         lu(k,3459) = lu(k,3459) - lu(k,3338) * lu(k,3458)
         lu(k,3460) = lu(k,3460) - lu(k,3339) * lu(k,3458)
         lu(k,3461) = lu(k,3461) - lu(k,3340) * lu(k,3458)
         lu(k,3462) = lu(k,3462) - lu(k,3341) * lu(k,3458)
         lu(k,3463) = lu(k,3463) - lu(k,3342) * lu(k,3458)
         lu(k,3464) = lu(k,3464) - lu(k,3343) * lu(k,3458)
         lu(k,3465) = lu(k,3465) - lu(k,3344) * lu(k,3458)
         lu(k,3466) = lu(k,3466) - lu(k,3345) * lu(k,3458)
         lu(k,3509) = lu(k,3509) - lu(k,3338) * lu(k,3508)
         lu(k,3510) = lu(k,3510) - lu(k,3339) * lu(k,3508)
         lu(k,3511) = lu(k,3511) - lu(k,3340) * lu(k,3508)
         lu(k,3512) = lu(k,3512) - lu(k,3341) * lu(k,3508)
         lu(k,3513) = lu(k,3513) - lu(k,3342) * lu(k,3508)
         lu(k,3514) = lu(k,3514) - lu(k,3343) * lu(k,3508)
         lu(k,3515) = lu(k,3515) - lu(k,3344) * lu(k,3508)
         lu(k,3516) = lu(k,3516) - lu(k,3345) * lu(k,3508)
         lu(k,3749) = lu(k,3749) - lu(k,3338) * lu(k,3748)
         lu(k,3750) = lu(k,3750) - lu(k,3339) * lu(k,3748)
         lu(k,3751) = lu(k,3751) - lu(k,3340) * lu(k,3748)
         lu(k,3752) = lu(k,3752) - lu(k,3341) * lu(k,3748)
         lu(k,3753) = lu(k,3753) - lu(k,3342) * lu(k,3748)
         lu(k,3754) = lu(k,3754) - lu(k,3343) * lu(k,3748)
         lu(k,3755) = lu(k,3755) - lu(k,3344) * lu(k,3748)
         lu(k,3756) = lu(k,3756) - lu(k,3345) * lu(k,3748)
         lu(k,3771) = lu(k,3771) - lu(k,3338) * lu(k,3770)
         lu(k,3772) = lu(k,3772) - lu(k,3339) * lu(k,3770)
         lu(k,3773) = lu(k,3773) - lu(k,3340) * lu(k,3770)
         lu(k,3774) = lu(k,3774) - lu(k,3341) * lu(k,3770)
         lu(k,3775) = lu(k,3775) - lu(k,3342) * lu(k,3770)
         lu(k,3776) = lu(k,3776) - lu(k,3343) * lu(k,3770)
         lu(k,3777) = lu(k,3777) - lu(k,3344) * lu(k,3770)
         lu(k,3778) = lu(k,3778) - lu(k,3345) * lu(k,3770)
         lu(k,3795) = lu(k,3795) - lu(k,3338) * lu(k,3794)
         lu(k,3796) = lu(k,3796) - lu(k,3339) * lu(k,3794)
         lu(k,3797) = lu(k,3797) - lu(k,3340) * lu(k,3794)
         lu(k,3798) = lu(k,3798) - lu(k,3341) * lu(k,3794)
         lu(k,3799) = lu(k,3799) - lu(k,3342) * lu(k,3794)
         lu(k,3800) = lu(k,3800) - lu(k,3343) * lu(k,3794)
         lu(k,3801) = lu(k,3801) - lu(k,3344) * lu(k,3794)
         lu(k,3802) = lu(k,3802) - lu(k,3345) * lu(k,3794)
         lu(k,3830) = lu(k,3830) - lu(k,3338) * lu(k,3829)
         lu(k,3831) = lu(k,3831) - lu(k,3339) * lu(k,3829)
         lu(k,3832) = lu(k,3832) - lu(k,3340) * lu(k,3829)
         lu(k,3833) = lu(k,3833) - lu(k,3341) * lu(k,3829)
         lu(k,3834) = lu(k,3834) - lu(k,3342) * lu(k,3829)
         lu(k,3835) = lu(k,3835) - lu(k,3343) * lu(k,3829)
         lu(k,3836) = lu(k,3836) - lu(k,3344) * lu(k,3829)
         lu(k,3837) = lu(k,3837) - lu(k,3345) * lu(k,3829)
         lu(k,3855) = lu(k,3855) - lu(k,3338) * lu(k,3854)
         lu(k,3856) = lu(k,3856) - lu(k,3339) * lu(k,3854)
         lu(k,3857) = lu(k,3857) - lu(k,3340) * lu(k,3854)
         lu(k,3858) = lu(k,3858) - lu(k,3341) * lu(k,3854)
         lu(k,3859) = lu(k,3859) - lu(k,3342) * lu(k,3854)
         lu(k,3860) = lu(k,3860) - lu(k,3343) * lu(k,3854)
         lu(k,3861) = lu(k,3861) - lu(k,3344) * lu(k,3854)
         lu(k,3862) = lu(k,3862) - lu(k,3345) * lu(k,3854)
         lu(k,3429) = 1._r8 / lu(k,3429)
         lu(k,3430) = lu(k,3430) * lu(k,3429)
         lu(k,3431) = lu(k,3431) * lu(k,3429)
         lu(k,3432) = lu(k,3432) * lu(k,3429)
         lu(k,3433) = lu(k,3433) * lu(k,3429)
         lu(k,3434) = lu(k,3434) * lu(k,3429)
         lu(k,3435) = lu(k,3435) * lu(k,3429)
         lu(k,3436) = lu(k,3436) * lu(k,3429)
         lu(k,3460) = lu(k,3460) - lu(k,3430) * lu(k,3459)
         lu(k,3461) = lu(k,3461) - lu(k,3431) * lu(k,3459)
         lu(k,3462) = lu(k,3462) - lu(k,3432) * lu(k,3459)
         lu(k,3463) = lu(k,3463) - lu(k,3433) * lu(k,3459)
         lu(k,3464) = lu(k,3464) - lu(k,3434) * lu(k,3459)
         lu(k,3465) = lu(k,3465) - lu(k,3435) * lu(k,3459)
         lu(k,3466) = lu(k,3466) - lu(k,3436) * lu(k,3459)
         lu(k,3510) = lu(k,3510) - lu(k,3430) * lu(k,3509)
         lu(k,3511) = lu(k,3511) - lu(k,3431) * lu(k,3509)
         lu(k,3512) = lu(k,3512) - lu(k,3432) * lu(k,3509)
         lu(k,3513) = lu(k,3513) - lu(k,3433) * lu(k,3509)
         lu(k,3514) = lu(k,3514) - lu(k,3434) * lu(k,3509)
         lu(k,3515) = lu(k,3515) - lu(k,3435) * lu(k,3509)
         lu(k,3516) = lu(k,3516) - lu(k,3436) * lu(k,3509)
         lu(k,3750) = lu(k,3750) - lu(k,3430) * lu(k,3749)
         lu(k,3751) = lu(k,3751) - lu(k,3431) * lu(k,3749)
         lu(k,3752) = lu(k,3752) - lu(k,3432) * lu(k,3749)
         lu(k,3753) = lu(k,3753) - lu(k,3433) * lu(k,3749)
         lu(k,3754) = lu(k,3754) - lu(k,3434) * lu(k,3749)
         lu(k,3755) = lu(k,3755) - lu(k,3435) * lu(k,3749)
         lu(k,3756) = lu(k,3756) - lu(k,3436) * lu(k,3749)
         lu(k,3772) = lu(k,3772) - lu(k,3430) * lu(k,3771)
         lu(k,3773) = lu(k,3773) - lu(k,3431) * lu(k,3771)
         lu(k,3774) = lu(k,3774) - lu(k,3432) * lu(k,3771)
         lu(k,3775) = lu(k,3775) - lu(k,3433) * lu(k,3771)
         lu(k,3776) = lu(k,3776) - lu(k,3434) * lu(k,3771)
         lu(k,3777) = lu(k,3777) - lu(k,3435) * lu(k,3771)
         lu(k,3778) = lu(k,3778) - lu(k,3436) * lu(k,3771)
         lu(k,3796) = lu(k,3796) - lu(k,3430) * lu(k,3795)
         lu(k,3797) = lu(k,3797) - lu(k,3431) * lu(k,3795)
         lu(k,3798) = lu(k,3798) - lu(k,3432) * lu(k,3795)
         lu(k,3799) = lu(k,3799) - lu(k,3433) * lu(k,3795)
         lu(k,3800) = lu(k,3800) - lu(k,3434) * lu(k,3795)
         lu(k,3801) = lu(k,3801) - lu(k,3435) * lu(k,3795)
         lu(k,3802) = lu(k,3802) - lu(k,3436) * lu(k,3795)
         lu(k,3831) = lu(k,3831) - lu(k,3430) * lu(k,3830)
         lu(k,3832) = lu(k,3832) - lu(k,3431) * lu(k,3830)
         lu(k,3833) = lu(k,3833) - lu(k,3432) * lu(k,3830)
         lu(k,3834) = lu(k,3834) - lu(k,3433) * lu(k,3830)
         lu(k,3835) = lu(k,3835) - lu(k,3434) * lu(k,3830)
         lu(k,3836) = lu(k,3836) - lu(k,3435) * lu(k,3830)
         lu(k,3837) = lu(k,3837) - lu(k,3436) * lu(k,3830)
         lu(k,3856) = lu(k,3856) - lu(k,3430) * lu(k,3855)
         lu(k,3857) = lu(k,3857) - lu(k,3431) * lu(k,3855)
         lu(k,3858) = lu(k,3858) - lu(k,3432) * lu(k,3855)
         lu(k,3859) = lu(k,3859) - lu(k,3433) * lu(k,3855)
         lu(k,3860) = lu(k,3860) - lu(k,3434) * lu(k,3855)
         lu(k,3861) = lu(k,3861) - lu(k,3435) * lu(k,3855)
         lu(k,3862) = lu(k,3862) - lu(k,3436) * lu(k,3855)
         lu(k,3460) = 1._r8 / lu(k,3460)
         lu(k,3461) = lu(k,3461) * lu(k,3460)
         lu(k,3462) = lu(k,3462) * lu(k,3460)
         lu(k,3463) = lu(k,3463) * lu(k,3460)
         lu(k,3464) = lu(k,3464) * lu(k,3460)
         lu(k,3465) = lu(k,3465) * lu(k,3460)
         lu(k,3466) = lu(k,3466) * lu(k,3460)
         lu(k,3511) = lu(k,3511) - lu(k,3461) * lu(k,3510)
         lu(k,3512) = lu(k,3512) - lu(k,3462) * lu(k,3510)
         lu(k,3513) = lu(k,3513) - lu(k,3463) * lu(k,3510)
         lu(k,3514) = lu(k,3514) - lu(k,3464) * lu(k,3510)
         lu(k,3515) = lu(k,3515) - lu(k,3465) * lu(k,3510)
         lu(k,3516) = lu(k,3516) - lu(k,3466) * lu(k,3510)
         lu(k,3751) = lu(k,3751) - lu(k,3461) * lu(k,3750)
         lu(k,3752) = lu(k,3752) - lu(k,3462) * lu(k,3750)
         lu(k,3753) = lu(k,3753) - lu(k,3463) * lu(k,3750)
         lu(k,3754) = lu(k,3754) - lu(k,3464) * lu(k,3750)
         lu(k,3755) = lu(k,3755) - lu(k,3465) * lu(k,3750)
         lu(k,3756) = lu(k,3756) - lu(k,3466) * lu(k,3750)
         lu(k,3773) = lu(k,3773) - lu(k,3461) * lu(k,3772)
         lu(k,3774) = lu(k,3774) - lu(k,3462) * lu(k,3772)
         lu(k,3775) = lu(k,3775) - lu(k,3463) * lu(k,3772)
         lu(k,3776) = lu(k,3776) - lu(k,3464) * lu(k,3772)
         lu(k,3777) = lu(k,3777) - lu(k,3465) * lu(k,3772)
         lu(k,3778) = lu(k,3778) - lu(k,3466) * lu(k,3772)
         lu(k,3797) = lu(k,3797) - lu(k,3461) * lu(k,3796)
         lu(k,3798) = lu(k,3798) - lu(k,3462) * lu(k,3796)
         lu(k,3799) = lu(k,3799) - lu(k,3463) * lu(k,3796)
         lu(k,3800) = lu(k,3800) - lu(k,3464) * lu(k,3796)
         lu(k,3801) = lu(k,3801) - lu(k,3465) * lu(k,3796)
         lu(k,3802) = lu(k,3802) - lu(k,3466) * lu(k,3796)
         lu(k,3832) = lu(k,3832) - lu(k,3461) * lu(k,3831)
         lu(k,3833) = lu(k,3833) - lu(k,3462) * lu(k,3831)
         lu(k,3834) = lu(k,3834) - lu(k,3463) * lu(k,3831)
         lu(k,3835) = lu(k,3835) - lu(k,3464) * lu(k,3831)
         lu(k,3836) = lu(k,3836) - lu(k,3465) * lu(k,3831)
         lu(k,3837) = lu(k,3837) - lu(k,3466) * lu(k,3831)
         lu(k,3857) = lu(k,3857) - lu(k,3461) * lu(k,3856)
         lu(k,3858) = lu(k,3858) - lu(k,3462) * lu(k,3856)
         lu(k,3859) = lu(k,3859) - lu(k,3463) * lu(k,3856)
         lu(k,3860) = lu(k,3860) - lu(k,3464) * lu(k,3856)
         lu(k,3861) = lu(k,3861) - lu(k,3465) * lu(k,3856)
         lu(k,3862) = lu(k,3862) - lu(k,3466) * lu(k,3856)
         lu(k,3511) = 1._r8 / lu(k,3511)
         lu(k,3512) = lu(k,3512) * lu(k,3511)
         lu(k,3513) = lu(k,3513) * lu(k,3511)
         lu(k,3514) = lu(k,3514) * lu(k,3511)
         lu(k,3515) = lu(k,3515) * lu(k,3511)
         lu(k,3516) = lu(k,3516) * lu(k,3511)
         lu(k,3752) = lu(k,3752) - lu(k,3512) * lu(k,3751)
         lu(k,3753) = lu(k,3753) - lu(k,3513) * lu(k,3751)
         lu(k,3754) = lu(k,3754) - lu(k,3514) * lu(k,3751)
         lu(k,3755) = lu(k,3755) - lu(k,3515) * lu(k,3751)
         lu(k,3756) = lu(k,3756) - lu(k,3516) * lu(k,3751)
         lu(k,3774) = lu(k,3774) - lu(k,3512) * lu(k,3773)
         lu(k,3775) = lu(k,3775) - lu(k,3513) * lu(k,3773)
         lu(k,3776) = lu(k,3776) - lu(k,3514) * lu(k,3773)
         lu(k,3777) = lu(k,3777) - lu(k,3515) * lu(k,3773)
         lu(k,3778) = lu(k,3778) - lu(k,3516) * lu(k,3773)
         lu(k,3798) = lu(k,3798) - lu(k,3512) * lu(k,3797)
         lu(k,3799) = lu(k,3799) - lu(k,3513) * lu(k,3797)
         lu(k,3800) = lu(k,3800) - lu(k,3514) * lu(k,3797)
         lu(k,3801) = lu(k,3801) - lu(k,3515) * lu(k,3797)
         lu(k,3802) = lu(k,3802) - lu(k,3516) * lu(k,3797)
         lu(k,3833) = lu(k,3833) - lu(k,3512) * lu(k,3832)
         lu(k,3834) = lu(k,3834) - lu(k,3513) * lu(k,3832)
         lu(k,3835) = lu(k,3835) - lu(k,3514) * lu(k,3832)
         lu(k,3836) = lu(k,3836) - lu(k,3515) * lu(k,3832)
         lu(k,3837) = lu(k,3837) - lu(k,3516) * lu(k,3832)
         lu(k,3858) = lu(k,3858) - lu(k,3512) * lu(k,3857)
         lu(k,3859) = lu(k,3859) - lu(k,3513) * lu(k,3857)
         lu(k,3860) = lu(k,3860) - lu(k,3514) * lu(k,3857)
         lu(k,3861) = lu(k,3861) - lu(k,3515) * lu(k,3857)
         lu(k,3862) = lu(k,3862) - lu(k,3516) * lu(k,3857)
      end do
      end subroutine lu_fac50
      subroutine lu_fac51( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,3752) = 1._r8 / lu(k,3752)
         lu(k,3753) = lu(k,3753) * lu(k,3752)
         lu(k,3754) = lu(k,3754) * lu(k,3752)
         lu(k,3755) = lu(k,3755) * lu(k,3752)
         lu(k,3756) = lu(k,3756) * lu(k,3752)
         lu(k,3775) = lu(k,3775) - lu(k,3753) * lu(k,3774)
         lu(k,3776) = lu(k,3776) - lu(k,3754) * lu(k,3774)
         lu(k,3777) = lu(k,3777) - lu(k,3755) * lu(k,3774)
         lu(k,3778) = lu(k,3778) - lu(k,3756) * lu(k,3774)
         lu(k,3799) = lu(k,3799) - lu(k,3753) * lu(k,3798)
         lu(k,3800) = lu(k,3800) - lu(k,3754) * lu(k,3798)
         lu(k,3801) = lu(k,3801) - lu(k,3755) * lu(k,3798)
         lu(k,3802) = lu(k,3802) - lu(k,3756) * lu(k,3798)
         lu(k,3834) = lu(k,3834) - lu(k,3753) * lu(k,3833)
         lu(k,3835) = lu(k,3835) - lu(k,3754) * lu(k,3833)
         lu(k,3836) = lu(k,3836) - lu(k,3755) * lu(k,3833)
         lu(k,3837) = lu(k,3837) - lu(k,3756) * lu(k,3833)
         lu(k,3859) = lu(k,3859) - lu(k,3753) * lu(k,3858)
         lu(k,3860) = lu(k,3860) - lu(k,3754) * lu(k,3858)
         lu(k,3861) = lu(k,3861) - lu(k,3755) * lu(k,3858)
         lu(k,3862) = lu(k,3862) - lu(k,3756) * lu(k,3858)
         lu(k,3775) = 1._r8 / lu(k,3775)
         lu(k,3776) = lu(k,3776) * lu(k,3775)
         lu(k,3777) = lu(k,3777) * lu(k,3775)
         lu(k,3778) = lu(k,3778) * lu(k,3775)
         lu(k,3800) = lu(k,3800) - lu(k,3776) * lu(k,3799)
         lu(k,3801) = lu(k,3801) - lu(k,3777) * lu(k,3799)
         lu(k,3802) = lu(k,3802) - lu(k,3778) * lu(k,3799)
         lu(k,3835) = lu(k,3835) - lu(k,3776) * lu(k,3834)
         lu(k,3836) = lu(k,3836) - lu(k,3777) * lu(k,3834)
         lu(k,3837) = lu(k,3837) - lu(k,3778) * lu(k,3834)
         lu(k,3860) = lu(k,3860) - lu(k,3776) * lu(k,3859)
         lu(k,3861) = lu(k,3861) - lu(k,3777) * lu(k,3859)
         lu(k,3862) = lu(k,3862) - lu(k,3778) * lu(k,3859)
         lu(k,3800) = 1._r8 / lu(k,3800)
         lu(k,3801) = lu(k,3801) * lu(k,3800)
         lu(k,3802) = lu(k,3802) * lu(k,3800)
         lu(k,3836) = lu(k,3836) - lu(k,3801) * lu(k,3835)
         lu(k,3837) = lu(k,3837) - lu(k,3802) * lu(k,3835)
         lu(k,3861) = lu(k,3861) - lu(k,3801) * lu(k,3860)
         lu(k,3862) = lu(k,3862) - lu(k,3802) * lu(k,3860)
         lu(k,3836) = 1._r8 / lu(k,3836)
         lu(k,3837) = lu(k,3837) * lu(k,3836)
         lu(k,3862) = lu(k,3862) - lu(k,3837) * lu(k,3861)
         lu(k,3862) = 1._r8 / lu(k,3862)
      end do
      end subroutine lu_fac51
      subroutine lu_fac( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
      call lu_fac01( avec_len, lu )
      call lu_fac02( avec_len, lu )
      call lu_fac03( avec_len, lu )
      call lu_fac04( avec_len, lu )
      call lu_fac05( avec_len, lu )
      call lu_fac06( avec_len, lu )
      call lu_fac07( avec_len, lu )
      call lu_fac08( avec_len, lu )
      call lu_fac09( avec_len, lu )
      call lu_fac10( avec_len, lu )
      call lu_fac11( avec_len, lu )
      call lu_fac12( avec_len, lu )
      call lu_fac13( avec_len, lu )
      call lu_fac14( avec_len, lu )
      call lu_fac15( avec_len, lu )
      call lu_fac16( avec_len, lu )
      call lu_fac17( avec_len, lu )
      call lu_fac18( avec_len, lu )
      call lu_fac19( avec_len, lu )
      call lu_fac20( avec_len, lu )
      call lu_fac21( avec_len, lu )
      call lu_fac22( avec_len, lu )
      call lu_fac23( avec_len, lu )
      call lu_fac24( avec_len, lu )
      call lu_fac25( avec_len, lu )
      call lu_fac26( avec_len, lu )
      call lu_fac27( avec_len, lu )
      call lu_fac28( avec_len, lu )
      call lu_fac29( avec_len, lu )
      call lu_fac30( avec_len, lu )
      call lu_fac31( avec_len, lu )
      call lu_fac32( avec_len, lu )
      call lu_fac33( avec_len, lu )
      call lu_fac34( avec_len, lu )
      call lu_fac35( avec_len, lu )
      call lu_fac36( avec_len, lu )
      call lu_fac37( avec_len, lu )
      call lu_fac38( avec_len, lu )
      call lu_fac39( avec_len, lu )
      call lu_fac40( avec_len, lu )
      call lu_fac41( avec_len, lu )
      call lu_fac42( avec_len, lu )
      call lu_fac43( avec_len, lu )
      call lu_fac44( avec_len, lu )
      call lu_fac45( avec_len, lu )
      call lu_fac46( avec_len, lu )
      call lu_fac47( avec_len, lu )
      call lu_fac48( avec_len, lu )
      call lu_fac49( avec_len, lu )
      call lu_fac50( avec_len, lu )
      call lu_fac51( avec_len, lu )
      end subroutine lu_fac
      end module mo_lu_factor
